on master help sign in
Use the NOINLINE names in Elm.Compiler.Imports
commitbd8936f38cd5d1ebf80157616250919d1182ff36 authorEvan Czaplicki <evancz@users.noreply.github.com> dateThu 1 Feb 2018, 18:19 (9 years ago) parent541fa5d
3 files changed+31−15
src/AST/Module/Name.hs+11−1 src/Elm/Compiler/Imports.hs+14−13 src/Elm/Name.hs+6−1
src/AST/Module/Name.hs+11−1
@@ -3,7 +3,7 @@
33module AST.Module.Name
44 ( Canonical(..)
55 , basics, char, string
6− , maybe, list, array
6+ , maybe, result, list, array, tuple
77 , platform, cmd, sub
88 , virtualDom, debug, bitwise
99 , jsonDecode, jsonEncode
@@ -66,6 +66,11 @@ maybe :: Canonical
6666maybe = Canonical Pkg.core N.maybe
6767
6868
69+{-# NOINLINE result #-}
70+result :: Canonical
71+result = Canonical Pkg.core N.result
72+
73+
6974{-# NOINLINE list #-}
7075list :: Canonical
7176list = Canonical Pkg.core N.list
@@ -76,6 +81,11 @@ array :: Canonical
7681array = Canonical Pkg.core N.array
7782
7883
84+{-# NOINLINE tuple #-}
85+tuple :: Canonical
86+tuple = Canonical Pkg.core N.tuple
87+
88+
7989
8090-- EFFECTS
8191
src/Elm/Compiler/Imports.hs+14−13
@@ -7,6 +7,7 @@ module Elm.Compiler.Imports
77
88
99import qualified AST.Source as Src
10+import qualified AST.Module.Name as Module
1011import qualified Elm.Name as N
1112import qualified Elm.Package as Pkg
1213import qualified Reporting.Annotation as A
@@ -30,22 +31,22 @@ addDefaults pkgName imports =
3031
3132defaults :: [Src.Import]
3233defaults =
33− [ import_ "Basics" Nothing Src.Open
34− , import_ "Debug" Nothing closed
35− , import_ "List" Nothing (operator "::")
36− , import_ "Maybe" Nothing (typeOpen "Maybe")
37− , import_ "Result" Nothing (typeOpen "Result")
38− , import_ "String" Nothing (typeClosed "String")
39− , import_ "Char" Nothing (typeClosed "Char")
40− , import_ "Tuple" Nothing closed
41− , import_ "Platform" Nothing (typeClosed "Program")
42− , import_ "Platform.Cmd" (Just "Cmd") (typeClosed "Cmd")
43− , import_ "Platform.Sub" (Just "Sub") (typeClosed "Sub")
34+ [ import_ Module.basics Nothing Src.Open
35+ , import_ Module.debug Nothing closed
36+ , import_ Module.list Nothing (operator "::")
37+ , import_ Module.maybe Nothing (typeOpen N.maybe)
38+ , import_ Module.result Nothing (typeOpen N.result)
39+ , import_ Module.string Nothing (typeClosed N.string)
40+ , import_ Module.char Nothing (typeClosed N.char)
41+ , import_ Module.tuple Nothing closed
42+ , import_ Module.platform Nothing (typeClosed N.program)
43+ , import_ Module.cmd (Just N.cmd) (typeClosed N.cmd)
44+ , import_ Module.sub (Just N.sub) (typeClosed N.sub)
4445 ]
4546
4647
47−import_ :: N.Name -> Maybe N.Name -> Src.Exposing -> Src.Import
48−import_ name maybeAlias exposing =
48+import_ :: Module.Canonical -> Maybe N.Name -> Src.Exposing -> Src.Import
49+import_ (Module.Canonical _ name) maybeAlias exposing =
4950 Src.Import (A.At zero name) maybeAlias exposing
5051
5152
src/Elm/Name.hs+6−1
@@ -25,7 +25,7 @@ module Elm.Name
2525 , fromText
2626 -- interned
2727 , int, float, bool, char, string
28− , maybe, list, array, tuple, jsArray
28+ , maybe, result, list, array, tuple, jsArray
2929 , task, router, cmd, sub, platform, browser
3030 , shader, debug, bitwise, basics
3131 , utils, negate, value
@@ -201,6 +201,11 @@ maybe :: Name
201201maybe = "Maybe"
202202
203203
204+{-# NOINLINE result #-}
205+result :: Name
206+result = "Result"
207+
208+
204209{-# NOINLINE list #-}
205210list :: Name
206211list = "List"