on master help sign in
Correct the associativity of (::) and ensure that JS is generated properly for (::).
55b3d39evancz
elm/src/Gen/CompileToJS.hs+1−1
@@ -307,7 +307,7 @@ binop (o:p) e1 e2
307 | otherwise =
307 | otherwise =
308 let ops = ["+","-","*","/","&&","||"] in
308 let ops = ["+","-","*","/","&&","||"] in
309 case o:p of
309 case o:p of
310− ":" -> jsCons e1 e2
310+ "::" -> jsCons e1 e2
311 "++" -> append e1 e2
311 "++" -> append e1 e2
312 "$" -> e1 ++ parens e2
312 "$" -> e1 ++ parens e2
313 "." -> jsFunc "x" . ret $ e1 ++ parens (e2 ++ parens "x")
313 "." -> jsFunc "x" . ret $ e1 ++ parens (e2 ++ parens "x")
elm/src/Parse/Binops.hs+1−1
@@ -21,7 +21,7 @@ table = [ (9, R, ".")
21 , (8, R, "^")
21 , (8, R, "^")
22 , (7, L, "*"), (7, L, "/"), (7, L, "mod"), (7, L, "div"), (7, L, "rem")
22 , (7, L, "*"), (7, L, "/"), (7, L, "mod"), (7, L, "div"), (7, L, "rem")
23 , (6, L, "+"), (6, L, "-")
23 , (6, L, "+"), (6, L, "-")
24− , (5, R, ":" ), (5, R, "++")
24+ , (5, R, "::"), (5, R, "++")
25 , (4, N, "<="), (4, N, ">="), (4, N, "<")
25 , (4, N, "<="), (4, N, ">="), (4, N, "<")
26 , (4, N, "=="), (4, N, "/="), (4, N, ">")
26 , (4, N, "=="), (4, N, "/="), (4, N, ">")
27 , (4, L, "~"), (4, L, "<~")
27 , (4, L, "~"), (4, L, "<~")