diff options
Diffstat (limited to 'neb/interpreter.py')
| -rw-r--r-- | neb/interpreter.py | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/neb/interpreter.py b/neb/interpreter.py index 2461f90..4762ae9 100644 --- a/neb/interpreter.py +++ b/neb/interpreter.py @@ -846,3 +846,10 @@ def interpretIsBool(symbol, args, env, ns): return Bool(isinstance(args[0], Bool)) GLOBALS.register("bool?", Builtin(interpretIsBool, [Arg("arg", TypeEnum.ANY)])) + +def interpretUserSymbols(symbol, args, env, ns): + keys = [k for k,v in env.environment.items() if isinstance(v, UserFunction) or isinstance(v, Literal)] + keys.sort() + return List(keys, True) + +GLOBALS.register("user-symbols", Builtin(interpretUserSymbols, [])) |
