@@ -91,9 +91,9 @@ tco mn = everywhere convert where
91 Block rootSS $
91 Block rootSS $
92 concatMap (\arg -> [ VariableIntroduction rootSS (tcoVar arg) . Just $
92 concatMap (\arg -> [ VariableIntroduction rootSS (tcoVar arg) . Just $
93 Var rootSS (copyVar arg) ]) (outerArgs ++ innerArgs) ++
93 Var rootSS (copyVar arg) ]) (outerArgs ++ innerArgs) ++
94− [ Var rootSS (tcoDone <> " := false")
94+ [ Assignment rootSS (Var rootSS $ "var " <> tcoDone) $ BooleanLiteral Nothing False
95 , VariableIntroduction rootSS tcoResult Nothing
95 , VariableIntroduction rootSS tcoResult Nothing
96− , Assignment rootSS (Var rootSS ("var " <> tcoLoop)) (Function rootSS (Just tcoLoop) (outerArgs ++ innerArgs) (Block rootSS [loopify js]))
96+ , Assignment rootSS (Var rootSS $ "var " <> tcoLoop) (Function rootSS (Just tcoLoop) (outerArgs ++ innerArgs) (Block rootSS [loopify js]))
97 , While rootSS (Unary Nothing Not (Var rootSS tcoDone))
97 , While rootSS (Unary Nothing Not (Var rootSS tcoDone))
98 (Block rootSS
98 (Block rootSS
99 [(Assignment rootSS (Var rootSS tcoResult) (App rootSS (Var rootSS tcoLoop) ((map (Var rootSS . tcoVar) outerArgs) ++ (map (Var rootSS . copyVar) innerArgs))))])
99 [(Assignment rootSS (Var rootSS tcoResult) (App rootSS (Var rootSS tcoLoop) ((map (Var rootSS . tcoVar) outerArgs) ++ (map (Var rootSS . copyVar) innerArgs))))])