@@ -314,7 +314,7 @@ clauseToJS span var (Clause value vars e) = do
314jsNil = "_L.Nil"
314jsNil = "_L.Nil"
315jsCons e1 e2 = "_L.Cons(" ++ e1 ++ "," ++ e2 ++ ")"
315jsCons e1 e2 = "_L.Cons(" ++ e1 ++ "," ++ e2 ++ ")"
316jsRange e1 e2 = "_L.range" ++ parens (e1 ++ "," ++ e2)
316jsRange e1 e2 = "_L.range" ++ parens (e1 ++ "," ++ e2)
317−jsCompare e1 e2 op = parens ("_N.cmp(" ++ e1 ++ "," ++ e2 ++ ").ctor" ++ op)
317+jsCompare e1 e2 op = parens ("_N.cmp(" ++ e1 ++ "," ++ e2 ++ ")" ++ op)
320binop op e1 e2 =
320binop op e1 e2 =
@@ -341,9 +341,9 @@ binop op e1 e2 =
341 , ("." , jsFunc "x" . ret $ e1 ++ parens (e2 ++ parens "x"))
341 , ("." , jsFunc "x" . ret $ e1 ++ parens (e2 ++ parens "x"))
342 , ("==", "_N.eq(" ++ e1 ++ "," ++ e2 ++ ")")
342 , ("==", "_N.eq(" ++ e1 ++ "," ++ e2 ++ ")")
343 , ("/=", "!_N.eq(" ++ e1 ++ "," ++ e2 ++ ")")
343 , ("/=", "!_N.eq(" ++ e1 ++ "," ++ e2 ++ ")")
344− , ("<" , jsCompare e1 e2 "==='LT'")
344+ , ("<" , jsCompare e1 e2 "<0")
345− , (">" , jsCompare e1 e2 "==='GT'")
345+ , (">" , jsCompare e1 e2 ">0")
346− , ("<=", jsCompare e1 e2 "!=='GT'")
346+ , ("<=", jsCompare e1 e2 "<1")
347− , (">=", jsCompare e1 e2 "!=='LT'")
347+ , (">=", jsCompare e1 e2 ">-1")
348 , ("div", parens (e1 ++ "/" ++ e2 ++ "|0"))
348 , ("div", parens (e1 ++ "/" ++ e2 ++ "|0"))