aboutsummaryrefslogtreecommitdiff
path: root/clojure/src/step2_eval.clj
diff options
context:
space:
mode:
authorJoel Martin <github@martintribe.org>2014-04-02 22:23:37 -0500
committerJoel Martin <github@martintribe.org>2014-04-02 22:23:37 -0500
commitea81a8087bcd7953b083a2be9db447f75e7ebf56 (patch)
tree6cf47a2dbd55d42efc4a901eaabdec952f40ce89 /clojure/src/step2_eval.clj
parent1617910ad342a55762f3ddabb975849d843cff85 (diff)
downloadmal-ea81a8087bcd7953b083a2be9db447f75e7ebf56.tar.gz
mal-ea81a8087bcd7953b083a2be9db447f75e7ebf56.zip
All: split types into types, env, printer, core.
- types: low-level mapping to the implementation language. - core: functions on types that are exposed directly to mal. - printer: implementation called by pr-str, str, prn, println. - env: the environment implementation - Also, unindent all TCO while loops so that the diff of step4 and step5 are minimized.
Diffstat (limited to 'clojure/src/step2_eval.clj')
-rw-r--r--clojure/src/step2_eval.clj7
1 files changed, 3 insertions, 4 deletions
diff --git a/clojure/src/step2_eval.clj b/clojure/src/step2_eval.clj
index 6ff9eb3..581bf3f 100644
--- a/clojure/src/step2_eval.clj
+++ b/clojure/src/step2_eval.clj
@@ -1,10 +1,8 @@
(ns step2-eval
(:require [clojure.repl]
- [types]
[readline]
- [reader]))
-
-(declare EVAL)
+ [reader]
+ [printer]))
;; read
(defn READ [& [strng]]
@@ -12,6 +10,7 @@
(reader/read-string strng)))
;; eval
+(declare EVAL)
(defn eval-ast [ast env]
(cond
(symbol? ast) (or (get env ast)