on master help sign in
Allow multiple roots
374b9cfEvan Czaplicki
src/Elm/Compiler/Objects.hs+1−1
@@ -7,7 +7,7 @@ module Elm.Compiler.Objects
7 , union
7 , union
8 , unions
8 , unions
9 , Roots
9 , Roots
10− , root
10+ , mains
11 )
11 )
12 where
12 where
13
13
src/Elm/Compiler/Objects/Internal.hs+7−8
@@ -10,7 +10,7 @@ module Elm.Compiler.Objects.Internal
10 , Symbol(..)
10 , Symbol(..)
11 , lookup
11 , lookup
12 , Roots
12 , Roots
13− , root
13+ , mains
14 , toGlobals
14 , toGlobals
15 )
15 )
16 where
16 where
@@ -26,7 +26,6 @@ import qualified AST.Expression.Optimized as Opt
26import qualified AST.Module.Name as ModuleName
26import qualified AST.Module.Name as ModuleName
27import qualified AST.Module as Module
27import qualified AST.Module as Module
28import qualified AST.Variable as Var
28import qualified AST.Variable as Var
29−import qualified Elm.Package as Pkg
30
29
31
30
32
31
@@ -92,19 +91,19 @@ lookup var (SymbolTable symbols) =
92
91
93
92
94data Roots
93data Roots
95− = Main ModuleName.Canonical
94+ = Mains [ModuleName.Canonical]
96
95
97
96
98−root :: Pkg.Name -> ModuleName.Raw -> Roots
97+mains :: [ModuleName.Canonical] -> Roots
99−root pkg name =
98+mains =
100− Main (ModuleName.Canonical pkg name)
99+ Mains
101
100
102
101
103toGlobals :: Roots -> [Var.Global]
102toGlobals :: Roots -> [Var.Global]
104toGlobals roots =
103toGlobals roots =
105 case roots of
104 case roots of
106− Main home ->
105+ Mains modules ->
107− [ Var.Global home "main" ]
106+ map (\home -> Var.Global home "main") modules
108
107
109
108
110
109