>From d9de1eb6b0dfef4d119748c99efa2fd0f9f37adb Mon Sep 17 00:00:00 2001 From: Peter Bex Date: Thu, 26 Jan 2012 20:34:10 +0100 Subject: [PATCH] In the analysis phase, put newly introduced let bindings into the local environment of the subexpressions, and shift the current local environment into the surrounding environment. This should take care of another exponential behaviour (and probably fix a bug, somewhere) --- compiler.scm | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/compiler.scm b/compiler.scm index 5e33867..ad26203 100644 --- a/compiler.scm +++ b/compiler.scm @@ -1831,7 +1831,7 @@ (let ([env2 (append params localenv env)]) (let loop ([vars params] [vals subs]) (if (null? vars) - (walk (car vals) env (append params localenv) here #f) + (walk (car vals) (append localenv env) params here #f) (let ([var (car vars)] [val (car vals)] ) (put! db var 'home here) -- 1.7.3.4