aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormryouse2022-06-16 20:04:50 +0000
committermryouse2022-06-16 20:04:50 +0000
commit49cdaca7fc0df62e6582806b4a44169deb1bdc80 (patch)
treedfecfb8d25ebb303e198f9e3045f1771ecebfb79
parenta072842248fe7324574bc7733a8c4255af56c855 (diff)
implement typeof
-rw-r--r--interpreter.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/interpreter.py b/interpreter.py
index e66deab..171fbb1 100644
--- a/interpreter.py
+++ b/interpreter.py
@@ -893,3 +893,8 @@ def interpretFilter(symbol, args, env, ns):
return List(out, True)
GLOBALS.register("filter", Builtin(interpretFilter, [Arg("func", TypeEnum.ANY, False, False), Arg("list", TypeEnum.LIST, False, False)]))
+
+def interpretTypeOf(symbol, args, env, ns):
+ return Type(f"{args[0].type_}")
+
+GLOBALS.register("typeof", Builtin(interpretTypeOf, [Arg("candidate", TypeEnum.ANY, False, False)]))