on master help sign in
get rid of unused imports
fa11f8eEvan Czaplicki
compiler/Initialize.hs+12−8
@@ -9,24 +9,28 @@ import System.FilePath as FP
9import Text.PrettyPrint (Doc)
9import Text.PrettyPrint (Doc)
10
10
11import SourceSyntax.Everything
11import SourceSyntax.Everything
12−import SourceSyntax.Declaration (Assoc)
12+import SourceSyntax.Type
13−import qualified SourceSyntax.Location as Loc
14import qualified Parse.Parse as Parse
13import qualified Parse.Parse as Parse
15import qualified Metadata.Libraries as Libs
14import qualified Metadata.Libraries as Libs
16−import qualified Transform.Optimize as Optimize
17import qualified Transform.Check as Check
15import qualified Transform.Check as Check
18import qualified Transform.SortDefinitions as SD
16import qualified Transform.SortDefinitions as SD
19import qualified Type.Inference as TI
17import qualified Type.Inference as TI
20import qualified Type.Constrain.Declaration as TcDecl
18import qualified Type.Constrain.Declaration as TcDecl
21
19
22
20
21+type TypeLibrary = Map.Map String (Map.Map String Type)
22+
23+buildFromSource ::
24+ (Data t, Data v) =>
25+ TypeLibrary ->
26+ String ->
23−buildFromSource :: (Data t, Data v) => Bool -> String -> Either [Doc] (MetadataModule t v)
27+ Either [Doc] (MetadataModule t v)
24−buildFromSource noPrelude src =
28+buildFromSource typeLibrary source =
25− do modul@(Module _ _ _ decls) <- Parse.program src
29+ do modul@(Module _ _ _ decls') <- Parse.program source
26
30
27 -- check for structural errors
31 -- check for structural errors
28 Module names exs ims decls <-
32 Module names exs ims decls <-
29− case Check.mistakes decls of
33+ case Check.mistakes decls' of
30 [] -> return modul
34 [] -> return modul
31 ms -> Left ms
35 ms -> Left ms
32
36
@@ -60,7 +64,7 @@ sortDeps :: [Deps] -> IO [String]
60sortDeps depends =
64sortDeps depends =
61 if null mistakes
65 if null mistakes
62 then return (concat sccs)
66 then return (concat sccs)
63− else print (msg ++ show mistakes) >> exitFailure
67+ else print msg >> mapM print mistakes >> exitFailure
64 where
68 where
65 graph = map (\(name, deps) -> (toFilePath name, name, deps)) depends
69 graph = map (\(name, deps) -> (toFilePath name, name, deps)) depends
66 sccs = map Graph.flattenSCC $ Graph.stronglyConnComp graph
70 sccs = map Graph.flattenSCC $ Graph.stronglyConnComp graph