on master help sign in
Finally get rid of Build/ directory, it's all in elm-make!
ed1aeb6Evan Czaplicki
elm-compiler.cabal+1−1
@@ -62,6 +62,7 @@ Library
62 AST.PrettyPrint,
62 AST.PrettyPrint,
63 AST.Type,
63 AST.Type,
64 AST.Variable,
64 AST.Variable,
65+ Compile,
65 Generate.JavaScript,
66 Generate.JavaScript,
66 Generate.JavaScript.Helpers,
67 Generate.JavaScript.Helpers,
67 Generate.JavaScript.Ports,
68 Generate.JavaScript.Ports,
@@ -102,7 +103,6 @@ Library
102 Type.State,
103 Type.State,
103 Type.Type,
104 Type.Type,
104 Type.Unify,
105 Type.Unify,
105− Build.Source,
106 Paths_elm_compiler
106 Paths_elm_compiler
107
107
108 Build-depends:
108 Build-depends:
src/Build/Source.hs → src/Compile.hsrenamed+4−3
@@ -1,4 +1,4 @@
1−module Build.Source (build) where
1+module Compile (compile) where
2
2
3import qualified Data.Map as Map
3import qualified Data.Map as Map
4import Text.PrettyPrint (Doc)
4import Text.PrettyPrint (Doc)
@@ -10,8 +10,9 @@ import qualified Transform.Check as Check
10import qualified Type.Inference as TI
10import qualified Type.Inference as TI
11import qualified Transform.Canonicalize as Canonical
11import qualified Transform.Canonicalize as Canonical
12
12
13+
13−build :: Bool -> Module.Interfaces -> String -> Either [Doc] Module.CanonicalModule
14+compile :: Bool -> Module.Interfaces -> String -> Either [Doc] Module.CanonicalModule
14−build noPrelude interfaces source =
15+compile noPrelude interfaces source =
15 do let infixes = Map.fromList . map (\(assoc,lvl,op) -> (op,(lvl,assoc)))
16 do let infixes = Map.fromList . map (\(assoc,lvl,op) -> (op,(lvl,assoc)))
16 . concatMap Module.iFixities $ Map.elems interfaces
17 . concatMap Module.iFixities $ Map.elems interfaces
17
18
src/Elm/Compiler.hs+4−4
@@ -8,14 +8,14 @@ import qualified Data.Map as Map
8import qualified Text.PrettyPrint as P
8import qualified Text.PrettyPrint as P
9
9
10import qualified AST.Module as Module (HeaderAndImports(HeaderAndImports), toInterface)
10import qualified AST.Module as Module (HeaderAndImports(HeaderAndImports), toInterface)
11−import qualified Build.Source as Source
11+import qualified Compile
12import qualified Elm.Compiler.Module as PublicModule
12import qualified Elm.Compiler.Module as PublicModule
13import qualified Elm.Compiler.Version as Version
13import qualified Elm.Compiler.Version as Version
14import qualified Elm.Utils as Utils
14import qualified Elm.Utils as Utils
15import qualified Generate.JavaScript as JS
15import qualified Generate.JavaScript as JS
16import qualified Parse.Helpers as Help
16import qualified Parse.Helpers as Help
17import qualified Parse.Module as Parse
17import qualified Parse.Module as Parse
18−import qualified Paths_elm_compiler as Compiler
18+import qualified Paths_elm_compiler as Paths
19
19
20
20
21-- VERSION
21-- VERSION
@@ -51,7 +51,7 @@ compile
51 -> Map.Map PublicModule.Name PublicModule.Interface
51 -> Map.Map PublicModule.Name PublicModule.Interface
52 -> Either String (PublicModule.Interface, String)
52 -> Either String (PublicModule.Interface, String)
53compile source interfaces =
53compile source interfaces =
54− case Source.build False unwrappedInterfaces source of
54+ case Compile.compile False unwrappedInterfaces source of
55 Left docs -> Left . unlines . List.intersperse "" $ map P.render docs
55 Left docs -> Left . unlines . List.intersperse "" $ map P.render docs
56 Right modul -> Right (Module.toInterface modul, JS.generate modul)
56 Right modul -> Right (Module.toInterface modul, JS.generate modul)
57 where
57 where
@@ -65,4 +65,4 @@ compile source interfaces =
65-}
65-}
66runtimePath :: IO FilePath
66runtimePath :: IO FilePath
67runtimePath =
67runtimePath =
68− Utils.getAsset "compiler" Compiler.getDataFileName "runtime/core.js"
68+ Utils.getAsset "compiler" Paths.getDataFileName "runtime/core.js"