@@ -29,10 +29,13 @@ generate module_ =
29 definitions =
29 definitions =
30 Module.program (Module.body module_)
30 Module.program (Module.body module_)
33+ Var.define (Just (Module.name module_)) "_op" (ObjectLit () [])
33 State.evalState (mapM generateDef definitions) 0
36 State.evalState (mapM generateDef definitions) 0
35− PP.displayS (PP.renderPretty 0.4 120 (ES.prettyPrint stmts)) ""
38+ PP.displayS (PP.renderPretty 0.4 120 (ES.prettyPrint (setup:stmts))) ""
38-- CODE CHUNKS
41-- CODE CHUNKS
@@ -101,7 +104,7 @@ generateDef def =
101 Opt.Def (Opt.Facts home _) name body ->
104 Opt.Def (Opt.Facts home _) name body ->
102 (,,) home name <$> generateJsExpr body
105 (,,) home name <$> generateJsExpr body
104− return (VarDeclStmt () [ varDecl (Var.defName home name) jsBody ])
107+ return (Var.define home name jsBody)
107-- EXPRESSIONS
110-- EXPRESSIONS
@@ -255,8 +258,9 @@ generateTailFunction name args body =
257generateFunctionWithArity :: [String] -> Code -> Expression ()
260generateFunctionWithArity :: [String] -> Code -> Expression ()
258−generateFunctionWithArity args code =
261+generateFunctionWithArity rawArgs code =
263+ args = map Var.safe rawArgs
260 arity = length args
264 arity = length args
262 if 2 <= arity && arity <= 9 then
266 if 2 <= arity && arity <= 9 then