on master help sign in
Move default imports to Elm.Compiler.Imports
4f7d7b2Evan Czaplicki
elm-compiler.cabal−1
@@ -73,7 +73,6 @@ Library
73 Generate.JavaScript.Variable,
73 Generate.JavaScript.Variable,
74 Generate.Cases,
74 Generate.Cases,
75 Generate.Substitute,
75 Generate.Substitute,
76− Transform.AddDefaultImports,
77 Parse.Binop,
76 Parse.Binop,
78 Parse.Declaration,
77 Parse.Declaration,
79 Parse.Expression,
78 Parse.Expression,
src/Transform/AddDefaultImports.hs → src/Elm/Compiler/Imports.hsrenamed+4−19
@@ -1,17 +1,17 @@
1−module Transform.AddDefaultImports (add, defaultImports) where
1+module Elm.Compiler.Imports (defaults) where
2
2
3import qualified AST.Module as Module
3import qualified AST.Module as Module
4import qualified AST.Variable as Var
4import qualified AST.Variable as Var
5
5
6
6
7−-- DESCRIPTION OF DEFAULT IMPORTS
7+-- DEFAULT IMPORTS
8
8
9(==>) :: a -> b -> (a,b)
9(==>) :: a -> b -> (a,b)
10(==>) = (,)
10(==>) = (,)
11
11
12
12
13−defaultImports :: [Module.DefaultImport]
13+defaults :: [Module.DefaultImport]
14−defaultImports =
14+defaults =
15 [ ["Basics"] ==> Module.ImportMethod Nothing Var.openListing
15 [ ["Basics"] ==> Module.ImportMethod Nothing Var.openListing
16 , ["List"] ==> exposing [Var.Value "::"]
16 , ["List"] ==> exposing [Var.Value "::"]
17 , ["Maybe"] ==> exposing [Var.Union "Maybe" Var.openListing]
17 , ["Maybe"] ==> exposing [Var.Union "Maybe" Var.openListing]
@@ -23,18 +23,3 @@ defaultImports =
23exposing :: [Var.Value] -> Module.ImportMethod
23exposing :: [Var.Value] -> Module.ImportMethod
24exposing vars =
24exposing vars =
25 Module.ImportMethod Nothing (Var.listing vars)
25 Module.ImportMethod Nothing (Var.listing vars)
26−
27−
28−-- ADDING DEFAULT IMPORTS TO A MODULE
29−
30−add
31− :: Bool
32− -> [Module.UserImport]
33− -> ([Module.DefaultImport], [Module.UserImport])
34−add needsDefaults imports =
35− (defaults, imports)
36− where
37− defaults =
38− if needsDefaults
39− then defaultImports
40− else []
src/Elm/Compiler/Module.hs+2−2
@@ -18,7 +18,7 @@ import qualified Data.Text as Text
18import System.FilePath ((</>))
18import System.FilePath ((</>))
19
19
20import qualified AST.Module as Module
20import qualified AST.Module as Module
21−import qualified Transform.AddDefaultImports as Defaults
21+import qualified Elm.Compiler.Imports as Imports
22import qualified Elm.Compiler.Type as Type
22import qualified Elm.Compiler.Type as Type
23import qualified Elm.Compiler.Type.Extract as Extract
23import qualified Elm.Compiler.Type.Extract as Extract
24
24
@@ -34,7 +34,7 @@ newtype Name = Name [String]
34
34
35defaultImports :: [Name]
35defaultImports :: [Name]
36defaultImports =
36defaultImports =
37− map (Name . fst) Defaults.defaultImports
37+ map (Name . fst) Imports.defaults
38
38
39
39
40-- POKING AROUND INTERFACES
40-- POKING AROUND INTERFACES
src/Parse/Parse.hs+2−2
@@ -9,13 +9,13 @@ import qualified Text.Parsec.Error as Parsec
9
9
10import qualified AST.Declaration as D
10import qualified AST.Declaration as D
11import qualified AST.Module as M
11import qualified AST.Module as M
12+import qualified Elm.Compiler.Imports as Imports
12import Parse.Helpers
13import Parse.Helpers
13import qualified Parse.Module as Module
14import qualified Parse.Module as Module
14import qualified Parse.Declaration as Decl
15import qualified Parse.Declaration as Decl
15import qualified Reporting.Region as R
16import qualified Reporting.Region as R
16import qualified Reporting.Error.Syntax as Error
17import qualified Reporting.Error.Syntax as Error
17import qualified Reporting.Result as Result
18import qualified Reporting.Result as Result
18−import qualified Transform.AddDefaultImports as DefaultImports
19import qualified Validate
19import qualified Validate
20
20
21
21
@@ -31,7 +31,7 @@ program needsDefaults table src =
31 validDecls <- Validate.declarations sourceDecls
31 validDecls <- Validate.declarations sourceDecls
32
32
33 let ammendedImports =
33 let ammendedImports =
34− DefaultImports.add needsDefaults imports
34+ (if needsDefaults then Imports.defaults else [], imports)
35
35
36 return (M.Module names filePath exports ammendedImports validDecls)
36 return (M.Module names filePath exports ammendedImports validDecls)
37
37