diff options
| -rw-r--r-- | neb/__init__.py | 2 | ||||
| -rw-r--r-- | neb/std/functools.py | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/neb/__init__.py b/neb/__init__.py index 16d5e44..7e3075b 100644 --- a/neb/__init__.py +++ b/neb/__init__.py @@ -11,7 +11,7 @@ def interpret(exprs, env, ns=None): return ret def evaluate(expr, env, ns=None): - if isinstance(expr, Literal) or isinstance(expr, Function) or isinstance(expr, TypeWrap): + if isinstance(expr, Literal) or isinstance(expr, Function) or isinstance(expr, TypeWrap) or isinstance(expr, List): return expr elif isinstance(expr, Symbol) or isinstance(expr, Type): if env.contains(expr.name): diff --git a/neb/std/functools.py b/neb/std/functools.py index 83475b9..facc97d 100644 --- a/neb/std/functools.py +++ b/neb/std/functools.py @@ -39,8 +39,8 @@ def interpretApply(symbol, args, env, ns): func = args[0] if not isinstance(func, Symbol): raise InterpretPanic(symbol, "requires a symbol as its first argument", func) - new_lst = List([func] + args[1].args) - return evaluate(new_lst, env, ns) + new_expr = Expr([func] + args[1].args) + return evaluate(new_expr, env, ns) FUNCTOOLS.register("apply", Builtin("apply", interpretApply, [Arg("func", TypeEnum.ANY, lazy=True), Arg("list", TypeEnum.LIST)])) |
