From e950ab6de207a0dab31672f5843680d56062cb93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erik=20Sved=C3=A4ng?= Date: Mon, 27 Aug 2018 18:55:21 +0200 Subject: [PATCH] Emit comment about captured vars (for debugging). --- src/Emit.hs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/Emit.hs b/src/Emit.hs index 907095f6..01962b25 100644 --- a/src/Emit.hs +++ b/src/Emit.hs @@ -178,10 +178,14 @@ toC toCMode root = emitterSrc (execState (visit startingIndent root) (EmitterSta return "" -- Fn / λ - [XObj (Fn capturedVars) _ _, XObj (Arr argList) _ _, body] -> + [XObj (Fn set) _ _, XObj (Arr argList) _ _, body] -> do let Just tt@(FuncTy _ retTy) = t retVar = freshVar i name = lambdaName tt i + capturedVars = Set.toList set + appendToSrc (addIndent indent ++ "// This lambda captures " ++ + show (length capturedVars) ++ " variables: " ++ + joinWithComma (map getName capturedVars) ++ "\n") appendToSrc (addIndent indent ++ "Lambda " ++ retVar ++ " = { .callback = " ++ name ++ ", .env = NULL, .delete = NULL };\n") return retVar