From f9f4a11e9bde67bf3ab52fa7f3cef04fde98a579 Mon Sep 17 00:00:00 2001 From: mryouse Date: Fri, 20 May 2022 21:15:12 +0000 Subject: bugfix: make recursion work (though introduce a new issue too) --- interpreter.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/interpreter.py b/interpreter.py index d5b2b4c..6ad7d84 100644 --- a/interpreter.py +++ b/interpreter.py @@ -37,7 +37,8 @@ class UserFunction(Function): def call(self, expr, env): this_env = Environment(env) for idx, param in enumerate(self.params): - this_env.register(param.name, expr.args[idx]) + # TODO this is wrong!!! this won't always be a literal + this_env.register(param.name, Expr.Literal(evaluate(expr.args[idx],env))) return interpret(self.body, this_env) class Environment: -- cgit v1.2.3