@@ -29,10 +29,13 @@ generate module_ =
2929 definitions =
3030 Module.program (Module.body module_)
3131
32+ setup =
33+ Var.define (Just (Module.name module_)) "_op" (ObjectLit () [])
34+
3235 stmts =
3336 State.evalState (mapM generateDef definitions) 0
3437 in
35− PP.displayS (PP.renderPretty 0.4 120 (ES.prettyPrint stmts)) ""
38+ PP.displayS (PP.renderPretty 0.4 120 (ES.prettyPrint (setup:stmts))) ""
3639
3740
3841-- CODE CHUNKS
@@ -101,7 +104,7 @@ generateDef def =
101104 Opt.Def (Opt.Facts home _) name body ->
102105 (,,) home name <$> generateJsExpr body
103106
104− return (VarDeclStmt () [ varDecl (Var.defName home name) jsBody ])
107+ return (Var.define home name jsBody)
105108
106109
107110-- EXPRESSIONS
@@ -255,8 +258,9 @@ generateTailFunction name args body =
255258
256259
257260generateFunctionWithArity :: [String] -> Code -> Expression ()
258−generateFunctionWithArity args code =
261+generateFunctionWithArity rawArgs code =
259262 let
263+ args = map Var.safe rawArgs
260264 arity = length args
261265 in
262266 if 2 <= arity && arity <= 9 then