diff options
| author | Joel Martin <github@martintribe.org> | 2014-04-23 21:59:50 -0500 |
|---|---|---|
| committer | Joel Martin <github@martintribe.org> | 2014-04-23 21:59:50 -0500 |
| commit | 6301e0b6374cecc5599665be14d6ddc6a31ce1e8 (patch) | |
| tree | dbf1dc2ff6c682fd87c72a7907e7f6e59c8d4c03 /clojure/src | |
| parent | 89bd4de1e2704c1bc562788b2c5e4fc08b71a538 (diff) | |
| download | mal-6301e0b6374cecc5599665be14d6ddc6a31ce1e8.tar.gz mal-6301e0b6374cecc5599665be14d6ddc6a31ce1e8.zip | |
All: TCO let* and quasiquote.
Diffstat (limited to 'clojure/src')
| -rw-r--r-- | clojure/src/step5_tco.clj | 2 | ||||
| -rw-r--r-- | clojure/src/step6_file.clj | 2 | ||||
| -rw-r--r-- | clojure/src/step7_quote.clj | 4 | ||||
| -rw-r--r-- | clojure/src/step8_macros.clj | 4 | ||||
| -rw-r--r-- | clojure/src/step9_interop.clj | 4 | ||||
| -rw-r--r-- | clojure/src/stepA_more.clj | 4 |
6 files changed, 10 insertions, 10 deletions
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) |
