diff options
| author | mryouse | 2022-06-18 16:22:57 +0000 |
|---|---|---|
| committer | mryouse | 2022-06-18 16:22:57 +0000 |
| commit | a0968e3bb2504127e26ab48b32dc6550c6cadd71 (patch) | |
| tree | 80430f1f44e7cd7b20849d15befba2a76089c797 /neb | |
| parent | 2f35362db78fb9ac1a4399b8d9c4f46bd2a46631 (diff) | |
implement user-symbols
Diffstat (limited to 'neb')
| -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, [])) |
