diff --git a/scheme/eval.sld b/scheme/eval.sld index 4ef3bc0b..96b1fbf4 100644 --- a/scheme/eval.sld +++ b/scheme/eval.sld @@ -442,15 +442,21 @@ ;; TODO: doing too much here, need to figure out a way to speed things up! (sym (cond ((pair? lookup) +(write `(lookup var ,lookup)) +(newline) (car lookup)) (else (call/cc (lambda (return) (for-each (lambda (v/r) ;; Map renamed symbol back to one in env - (if (eq? exp (cdr v/r)) + (when (eq? exp (cdr v/r)) +(write `(reverse lookup var ,v/r)) +(newline) (return (car v/r)))) local-renamed) +(write `(NO lookup var ,exp ,local-renamed)) +(newline) (return exp))))))) ;; Not found, keep input symbol (lambda (env) (env:lookup-variable-value sym env))))