@@ -1,4 +1,12 @@
1−module Generate.JavaScript.BuiltIn where
1+module Generate.JavaScript.BuiltIn
3import Control.Arrow (first)
11import Control.Arrow (first)
4import qualified Language.ECMAScript3.Syntax as JS
12import qualified Language.ECMAScript3.Syntax as JS
@@ -11,7 +19,12 @@ import qualified Reporting.Region as R
12utils :: String -> [JS.Expression ()] -> JS.Expression ()
20utils :: String -> [JS.Expression ()] -> JS.Expression ()
13utils func args =
21utils func args =
22+ obj ["_elm_lang$core$Native_Utils", func] `call` args
25+nativeList :: String -> [JS.Expression ()] -> JS.Expression ()
26+nativeList func args =
14− obj ["_U", func] `call` args
27+ obj ["_elm_lang$core$Native_List", func] `call` args
@@ -34,12 +47,12 @@ string str =
35list :: [JS.Expression ()] -> JS.Expression ()
48list :: [JS.Expression ()] -> JS.Expression ()
36list elements =
49list elements =
37− utils "list" [ JS.ArrayLit () elements ]
50+ nativeList "fromArray" [ JS.ArrayLit () elements ]
40range :: JS.Expression () -> JS.Expression () -> JS.Expression ()
53range :: JS.Expression () -> JS.Expression () -> JS.Expression ()
41range low high =
54range low high =
42− utils "range" [ low, high ]
55+ nativeList "range" [ low, high ]