From 69cfd5883b6898dc613471d2639aa22ed5e8ad6f Mon Sep 17 00:00:00 2001 From: mryouse Date: Tue, 24 May 2022 03:37:48 +0000 Subject: bugfix: only try to access .value on a Literal --- interpreter.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'interpreter.py') diff --git a/interpreter.py b/interpreter.py index 529993a..cda4c62 100644 --- a/interpreter.py +++ b/interpreter.py @@ -303,7 +303,11 @@ def interpretLambda(symbol, args, env): GLOBALS.register("lambda", Builtin(interpretLambda)) def interpretToString(symbol, args, env): - return Literal(str(evaluate(args[0], env).value)) + ev = evaluate(args[0], env) + if isinstance(ev, Literal): + return Literal(str(ev.value)) + else: + return Literal(f"{ev}") GLOBALS.register("->string", Builtin(interpretToString, 1)) -- cgit v1.2.3