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. --- python/step7_quote.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'python/step7_quote.py') diff --git a/python/step7_quote.py b/python/step7_quote.py index 3ed6965..f57dc0a 100644 --- a/python/step7_quote.py +++ b/python/step7_quote.py @@ -87,10 +87,9 @@ def EVAL(ast, env): else: el = eval_ast(ast, env) f = el[0] - if hasattr(f, '__meta__') and f.__meta__.has_key("exp"): - m = f.__meta__ - ast = m['exp'] - env = Env(m['env'], m['params'], el[1:]) + if hasattr(f, '__ast__'): + ast = f.__ast__ + env = f.__gen_env__(el[1:]) else: return f(*el[1:]) -- cgit v1.2.3