From d40dc538d9f5d885d76fb7f14b6d7da3d34d66ae Mon Sep 17 00:00:00 2001 From: Justin Ethier Date: Tue, 13 Nov 2018 18:01:54 -0500 Subject: [PATCH] Closure convert (let) local values --- scheme/cyclone/cps-optimizations.sld | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/scheme/cyclone/cps-optimizations.sld b/scheme/cyclone/cps-optimizations.sld index 87816afb..a63de650 100644 --- a/scheme/cyclone/cps-optimizations.sld +++ b/scheme/cyclone/cps-optimizations.sld @@ -1757,7 +1757,12 @@ ;; Special case now with local var redux ((tagged-list? 'let exp) `(let - ,(cadr exp) + ,(map + (lambda (var/val) + (let ((var (car var/val)) + (val (cadr var/val))) + `(,var ,(cc val)))) + (cadr exp)) ,(convert (caddr exp) self-var