aboutsummaryrefslogtreecommitdiff
path: root/clojure/src
diff options
context:
space:
mode:
authorJoel Martin <github@martintribe.org>2014-04-23 21:59:50 -0500
committerJoel Martin <github@martintribe.org>2014-04-23 21:59:50 -0500
commit6301e0b6374cecc5599665be14d6ddc6a31ce1e8 (patch)
treedbf1dc2ff6c682fd87c72a7907e7f6e59c8d4c03 /clojure/src
parent89bd4de1e2704c1bc562788b2c5e4fc08b71a538 (diff)
downloadmal-6301e0b6374cecc5599665be14d6ddc6a31ce1e8.tar.gz
mal-6301e0b6374cecc5599665be14d6ddc6a31ce1e8.zip
All: TCO let* and quasiquote.
Diffstat (limited to 'clojure/src')
-rw-r--r--clojure/src/step5_tco.clj2
-rw-r--r--clojure/src/step6_file.clj2
-rw-r--r--clojure/src/step7_quote.clj4
-rw-r--r--clojure/src/step8_macros.clj4
-rw-r--r--clojure/src/step9_interop.clj4
-rw-r--r--clojure/src/stepA_more.clj4
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)