From a20f020f66a6763bb566413cb7fd11aa00b14179 Mon Sep 17 00:00:00 2001 From: Justin Ethier Date: Wed, 13 Feb 2019 15:00:38 -0500 Subject: [PATCH] Emit lambda AST's --- scheme/cyclone/cps-opt-memoize-pure-fncs.scm | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/scheme/cyclone/cps-opt-memoize-pure-fncs.scm b/scheme/cyclone/cps-opt-memoize-pure-fncs.scm index 89142eb1..8b8fe74e 100644 --- a/scheme/cyclone/cps-opt-memoize-pure-fncs.scm +++ b/scheme/cyclone/cps-opt-memoize-pure-fncs.scm @@ -187,17 +187,17 @@ ;; Memoize all of the functions at top-level (foldl (lambda (var/new-var acc) - (let ((rsym (gensym 'r)) - (var (car var/new-var)) - (new-var (cdr var/new-var))) + (let* ((rsym (gensym 'r)) + (var (car var/new-var)) + (new-var (cdr var/new-var)) + (body + `((Cyc-seq + (set-global! ,var ,rsym) + ,acc))) + ) `(memoize - (,(gensym 'lambda) - (,rsym) - (Cyc-seq - (set-global! ,var ,rsym) - ,acc - )) - ,new-var))) + ,(ast:make-lambda (list rsym) body) + ,new-var))) exp memo-tbl) )))