diff options
| -rw-r--r-- | interpreter.py | 8 |
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) |
