aboutsummaryrefslogtreecommitdiff
path: root/clojure/src/step6_file.clj
diff options
context:
space:
mode:
Diffstat (limited to 'clojure/src/step6_file.clj')
-rw-r--r--clojure/src/step6_file.clj13
1 files changed, 4 insertions, 9 deletions
diff --git a/clojure/src/step6_file.clj b/clojure/src/step6_file.clj
index 46bab16..2aeb1be 100644
--- a/clojure/src/step6_file.clj
+++ b/clojure/src/step6_file.clj
@@ -83,16 +83,11 @@
[strng]
(PRINT (EVAL (READ strng) repl-env)))
-(defn _ref [k,v] (env/env-set repl-env k v))
-
-;; Import types related functions
-(doseq [[k v] core/core_ns] (_ref k v))
-
-;; Defined using the language itself
-(_ref 'read-string reader/read-string)
-(_ref 'eval (fn [ast] (EVAL ast repl-env)))
-(_ref 'slurp slurp)
+;; core.clj: defined using Clojure
+(doseq [[k v] core/core_ns] (env/env-set repl-env k v))
+(env/env-set repl-env 'eval (fn [ast] (EVAL ast repl-env)))
+;; core.mal: defined using the language itself
(rep "(def! not (fn* [a] (if a false true)))")
(rep "(def! load-file (fn* [f] (eval (read-string (str \"(do \" (slurp f) \")\")))))")