@@ -1,4 +1,3 @@
1−
21module CompileToJS (showErr, jsModule) where
32
43import Ast
@@ -265,8 +264,11 @@ binop (o:p) e1 e2
265264 e2 ++ ")[0]; return ord==='LT' || ord==='EQ'; }()"
266265 ">=" -> "function() { var ord = compare(" ++ e1 ++ ")(" ++
267266 e2 ++ ")[0]; return ord==='GT' || ord==='EQ'; }()"
267+ "<~" -> "lift" ++ parens e1 ++ parens e2
268+ "~" -> "lift2(function(f){return function(x){return f(x);};})" ++
269+ parens e1 ++ parens e2
268270 _ | elem (o:p) ops -> parens (e1 ++ (o:p) ++ e2)
269271 | otherwise -> concat [ "$op['", o:p, "']"
270272 , parens e1, parens e2 ]
271273
272−append e1 e2 = "Value.append" ++ parens (e1 ++ "," ++ e2)
274+append e1 e2 = "Value.append" ++ parens (e1 ++ "," ++ e2)