From 6301e0b6374cecc5599665be14d6ddc6a31ce1e8 Mon Sep 17 00:00:00 2001 From: Joel Martin Date: Wed, 23 Apr 2014 21:59:50 -0500 Subject: All: TCO let* and quasiquote. --- clojure/src/step5_tco.clj | 2 +- clojure/src/step6_file.clj | 2 +- clojure/src/step7_quote.clj | 4 ++-- clojure/src/step8_macros.clj | 4 ++-- clojure/src/step9_interop.clj | 4 ++-- clojure/src/stepA_more.clj | 4 ++-- 6 files changed, 10 insertions(+), 10 deletions(-) (limited to 'clojure/src') diff --git a/clojure/src/step5_tco.clj b/clojure/src/step5_tco.clj index da47669..ed19b8e 100644 --- a/clojure/src/step5_tco.clj +++ b/clojure/src/step5_tco.clj @@ -43,7 +43,7 @@ (let [let-env (env/env env)] (doseq [[b e] (partition 2 a1)] (env/env-set let-env b (EVAL e let-env))) - (EVAL a2 let-env)) + (recur a2 let-env)) 'do (do (eval-ast (->> ast (drop-last) (drop 1)) env) diff --git a/clojure/src/step6_file.clj b/clojure/src/step6_file.clj index 5d080b9..2d5e05d 100644 --- a/clojure/src/step6_file.clj +++ b/clojure/src/step6_file.clj @@ -43,7 +43,7 @@ (let [let-env (env/env env)] (doseq [[b e] (partition 2 a1)] (env/env-set let-env b (EVAL e let-env))) - (EVAL a2 let-env)) + (recur a2 let-env)) 'do (do (eval-ast (->> ast (drop-last) (drop 1)) env) diff --git a/clojure/src/step7_quote.clj b/clojure/src/step7_quote.clj index ffcca24..633a81c 100644 --- a/clojure/src/step7_quote.clj +++ b/clojure/src/step7_quote.clj @@ -60,13 +60,13 @@ (let [let-env (env/env env)] (doseq [[b e] (partition 2 a1)] (env/env-set let-env b (EVAL e let-env))) - (EVAL a2 let-env)) + (recur a2 let-env)) 'quote a1 'quasiquote - (EVAL (quasiquote a1) env) + (recur (quasiquote a1) env) 'do (do (eval-ast (->> ast (drop-last) (drop 1)) env) diff --git a/clojure/src/step8_macros.clj b/clojure/src/step8_macros.clj index 6f51415..b8b55dc 100644 --- a/clojure/src/step8_macros.clj +++ b/clojure/src/step8_macros.clj @@ -78,13 +78,13 @@ (let [let-env (env/env env)] (doseq [[b e] (partition 2 a1)] (env/env-set let-env b (EVAL e let-env))) - (EVAL a2 let-env)) + (recur a2 let-env)) 'quote a1 'quasiquote - (EVAL (quasiquote a1) env) + (recur (quasiquote a1) env) 'defmacro! (let [func (with-meta (EVAL a2 env) diff --git a/clojure/src/step9_interop.clj b/clojure/src/step9_interop.clj index 677599c..c4d67e5 100644 --- a/clojure/src/step9_interop.clj +++ b/clojure/src/step9_interop.clj @@ -78,13 +78,13 @@ (let [let-env (env/env env)] (doseq [[b e] (partition 2 a1)] (env/env-set let-env b (EVAL e let-env))) - (EVAL a2 let-env)) + (recur a2 let-env)) 'quote a1 'quasiquote - (EVAL (quasiquote a1) env) + (recur (quasiquote a1) env) 'defmacro! (let [func (with-meta (EVAL a2 env) diff --git a/clojure/src/stepA_more.clj b/clojure/src/stepA_more.clj index e233089..fc7451f 100644 --- a/clojure/src/stepA_more.clj +++ b/clojure/src/stepA_more.clj @@ -78,13 +78,13 @@ (let [let-env (env/env env)] (doseq [[b e] (partition 2 a1)] (env/env-set let-env b (EVAL e let-env))) - (EVAL a2 let-env)) + (recur a2 let-env)) 'quote a1 'quasiquote - (EVAL (quasiquote a1) env) + (recur (quasiquote a1) env) 'defmacro! (let [func (with-meta (EVAL a2 env) -- cgit v1.2.3