@@ -255,26 +255,26 @@ isDebugger (Opt.Global (ModuleName.Canonical _ home) _) =
256generateCycle :: Mode.Mode -> Opt.Global -> [N.Name] -> [(N.Name, Opt.Expr)] -> [Opt.Def] -> JS.Stmt
256generateCycle :: Mode.Mode -> Opt.Global -> [N.Name] -> [(N.Name, Opt.Expr)] -> [Opt.Def] -> JS.Stmt
257generateCycle mode (Opt.Global home _) names values functions =
257generateCycle mode (Opt.Global home _) names values functions =
259− funcBlock = JS.Block $ map (generateCycleFunc mode home) functions
259+ [ JS.Block $ map (generateCycleFunc mode home) functions
260− safeBlock = JS.Block $ map (generateSafeCycle mode home) values
260+ , JS.Block $ map (generateSafeCycle mode home) values
261− realBlock = JS.Block $ map (generateRealCycle home) values
261+ , case map (generateRealCycle home) values of
263− case mode of
266+ case mode of
264− Mode.Prod _ _ ->
267+ Mode.Prod _ _ ->
265− JS.Block [ funcBlock, safeBlock, realBlock ]
268+ JS.Block realBlock
267− Mode.Dev _ _ ->
270+ Mode.Dev _ _ ->
270− JS.Try realBlock Name.dollar $ JS.Throw $ JS.String $
271+ JS.Try (JS.Block realBlock) Name.dollar $ JS.Throw $ JS.String $
271− "Some top-level definitions from `" <> N.toBuilder (ModuleName._module home) <> "` are causing infinite recursion:\\n"
272+ "Some top-level definitions from `" <> N.toBuilder (ModuleName._module home) <> "` are causing infinite recursion:\\n"
272− <> drawCycle names
273+ <> drawCycle names
273− <> "\\n\\nThese errors are very tricky, so read "
274+ <> "\\n\\nThese errors are very tricky, so read "
274− <> B.stringUtf8 (D.makeNakedLink "halting-problem")
275+ <> B.stringUtf8 (D.makeNakedLink "halting-problem")
275− <> " to learn how to fix it!"
276+ <> " to learn how to fix it!"
277− JS.Block [ funcBlock, safeBlock, tryRealBlock ]
280generateCycleFunc :: Mode.Mode -> ModuleName.Canonical -> Opt.Def -> JS.Stmt
280generateCycleFunc :: Mode.Mode -> ModuleName.Canonical -> Opt.Def -> JS.Stmt