@@ -300,13 +300,17 @@ addChunk mode builder chunk =
300300
301301
302302generateEnum :: Name.Mode -> Opt.Global -> N.Name -> Index.ZeroBased -> JS.Stmt
303−generateEnum mode global ctorName index =
304− case mode of
305− Name.Debug _ ->
306− var global (Expr.generateCtor mode ctorName index 0)
303+generateEnum mode (Opt.Global home name) ctorName index =
304+ let
305+ definition =
306+ case mode of
307+ Name.Debug _ ->
308+ Expr.codeToExpr (Expr.generateCtor mode ctorName index 0)
307309
308− Name.Prod _ _ ->
309− JS.EmptyStmt
310+ Name.Prod _ _ ->
311+ JS.Int (Index.toMachine index)
312+ in
313+ JS.Var [ (Name.fromGlobal home name, Just definition) ]
310314
311315
312316
@@ -314,13 +318,17 @@ generateEnum mode global ctorName index =
314318
315319
316320generateBox :: Name.Mode -> Opt.Global -> N.Name -> JS.Stmt
317−generateBox mode global ctorName =
318− case mode of
319− Name.Debug _ ->
320− var global (Expr.generateCtor mode ctorName Index.first 1)
321+generateBox mode (Opt.Global home name) ctorName =
322+ let
323+ definition =
324+ case mode of
325+ Name.Debug _ ->
326+ Expr.codeToExpr (Expr.generateCtor mode ctorName Index.first 1)
321327
322− Name.Prod _ _ ->
323− JS.EmptyStmt
328+ Name.Prod _ _ ->
329+ JS.Ref (Name.fromGlobal ModuleName.basics N.identity)
330+ in
331+ JS.Var [ (Name.fromGlobal home name, Just definition) ]
324332
325333
326334