aboutsummaryrefslogtreecommitdiff
path: root/interpreter.py
diff options
context:
space:
mode:
Diffstat (limited to 'interpreter.py')
-rw-r--r--interpreter.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/interpreter.py b/interpreter.py
index 03b5c00..c491150 100644
--- a/interpreter.py
+++ b/interpreter.py
@@ -357,6 +357,14 @@ GLOBALS.register("strip", Builtin(interpretStrip, 1))
# - string->int and string->float
# - split a string by a given field
# - get the length of a list
+def interpretListLength(symbol, args, env):
+ ev = evaluate(args[0], env)
+ if not isinstance(ev, List):
+ raise Exception("'first' expects a List")
+ return len(ev.args)
+
+GLOBALS.register("list-length", Builtin(interpretListLength, 1))
+
# - first/rest of list
def interpretFirst(symbol, args, env):
ev = evaluate(args[0], env)