on master help sign in
Generate lists directly, do not go through Native.List.fromArray

Fix https://github.com/elm-lang/elm-make/issues/119

commit3564de7dc021ce072cd4042ba743050bf8256f85 authorEvan Czaplicki <evancz@users.noreply.github.com> dateTue 11 Oct 2016, 17:01 (10 years ago) parent36dbf23
1 file changed+16−2
src/Generate/JavaScript/BuiltIn.hs+16−2
src/Generate/JavaScript/BuiltIn.hs+16−2
@@ -1,6 +1,6 @@
11module Generate.JavaScript.BuiltIn
22 ( character, string
3− , list
3+ , list, cons
44 , recordUpdate
55 , eq, cmp
66 , effect, outgoingPort, incomingPort
@@ -47,7 +47,21 @@ string str =
4747
4848list :: [JS.Expression ()] -> JS.Expression ()
4949list elements =
50− nativeList "fromArray" [ JS.ArrayLit () elements ]
50+ case elements of
51+ [] ->
52+ JS.ObjectLit () [ "ctor" ==> JS.StringLit () "[]" ]
53+
54+ front : back ->
55+ cons front (list back)
56+
57+
58+cons :: JS.Expression () -> JS.Expression () -> JS.Expression ()
59+cons front back =
60+ JS.ObjectLit ()
61+ [ "ctor" ==> JS.StringLit () "::"
62+ , "_0" ==> front
63+ , "_1" ==> back
64+ ]
5165
5266
5367