@@ -36,16 +36,12 @@ inc tipe x =
3636 Lambda _ _ -> error "functions should not be allowed through input ports"
3737 Var _ -> error "type variables should not be allowed through input ports"
3838 Data ctor []
39− | ctor == "Int" -> elm JSNumber
40− | ctor == "Float" -> elm JSNumber
41− | ctor == "Bool" -> elm JSBoolean
42− | ctor == "String" -> elm JSString
43− | ctor == "JavaScript.JSNumber" -> js JSNumber
44− | ctor == "JavaScript.JSBool" -> js JSBoolean
45− | ctor == "JavaScript.JSString" -> js JSString
39+ | ctor == "Int" -> from JSNumber
40+ | ctor == "Float" -> from JSNumber
41+ | ctor == "Bool" -> from JSBoolean
42+ | ctor == "String" -> from JSString
4643 where
47− elm checks = check x checks (obj ("_J.to" ++ ctor) <| x)
48− js checks = check x checks x
44+ from checks = check x checks (obj ("_J.to" ++ ctor) <| x)
4945
5046 Data ctor [t]
5147 | ctor == "Maybe.Maybe" ->
@@ -104,10 +100,8 @@ out tipe x =
104100
105101 Var _ -> error "type variables should not be allowed through input ports"
106102 Data ctor []
107− | ctor `elem` ["Int","Float","Bool","String"] -> obj ("_J.from" ++ ctor) <| x
108− | ctor `elem` jsPrims -> x
109− where
110− jsPrims = map ("JavaScript.JS"++) ["Number","Bool","String"]
103+ | ctor `elem` ["Int","Float","Bool","String"] ->
104+ obj ("_J.from" ++ ctor) <| x
111105
112106 Data ctor [t]
113107 | ctor == "Maybe.Maybe" ->