From a34b02006527d28db5df5c6553be804770b81f79 Mon Sep 17 00:00:00 2001 From: Joel Martin Date: Wed, 9 Apr 2014 23:58:27 -0500 Subject: Fix metadata on functions. - Don't use metadata to store ast, env, params data. - In Clojure, store metadata on the :meta key of the real metadata. This also allows using any datatype as metadata. --- clojure/src/stepA_more.clj | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'clojure/src/stepA_more.clj') diff --git a/clojure/src/stepA_more.clj b/clojure/src/stepA_more.clj index 77b8cd7..30eb8a6 100644 --- a/clojure/src/stepA_more.clj +++ b/clojure/src/stepA_more.clj @@ -124,11 +124,12 @@ (recur a2 env))) 'fn* - ^{:expression a2 - :environment env - :parameters a1} - (fn [& args] - (EVAL a2 (env/env env a1 args))) + (with-meta + (fn [& args] + (EVAL a2 (env/env env a1 args))) + {:expression a2 + :environment env + :parameters a1}) ;; apply (let [el (eval-ast ast env) -- cgit v1.2.3