@@ -314,7 +314,7 @@ clauseToJS span var (Clause value vars e) = do
314314jsNil = "_L.Nil"
315315jsCons e1 e2 = "_L.Cons(" ++ e1 ++ "," ++ e2 ++ ")"
316316jsRange 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)
318318
319319
320320binop op e1 e2 =
@@ -341,9 +341,9 @@ binop op e1 e2 =
341341 , ("." , jsFunc "x" . ret $ e1 ++ parens (e2 ++ parens "x"))
342342 , ("==", "_N.eq(" ++ e1 ++ "," ++ e2 ++ ")")
343343 , ("/=", "!_N.eq(" ++ e1 ++ "," ++ e2 ++ ")")
344− , ("<" , jsCompare e1 e2 "==='LT'")
345− , (">" , jsCompare e1 e2 "==='GT'")
346− , ("<=", jsCompare e1 e2 "!=='GT'")
347− , (">=", jsCompare e1 e2 "!=='LT'")
344+ , ("<" , jsCompare e1 e2 "<0")
345+ , (">" , jsCompare e1 e2 ">0")
346+ , ("<=", jsCompare e1 e2 "<1")
347+ , (">=", jsCompare e1 e2 ">-1")
348348 , ("div", parens (e1 ++ "/" ++ e2 ++ "|0"))
349349 ])