diff options
Diffstat (limited to 'clojure/src/step6_file.clj')
| -rw-r--r-- | clojure/src/step6_file.clj | 13 |
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) \")\")))))") |
