In CustomCollationOrder the discussion turned to ways to allow "external" code snippets in a more secure or controllable way. An alternative was a custom expression evaluator library, but since an interpreter typically already has an expression evaluator, it seems like unnecessary duplication of parts. A more powerful EVAL would could facilitate TableOrientedProgramming and other "external code" usage, such as expressions entered by power-users who we otherwise don't want touching the application source code.
An expression evaluator could have an allow and/or deny of the following:
Variable scope:
- None
- current function (of Eval)
- parent
- caller
- current name-space
- selected name-space(s) per list
- global
Operations:
- Specified list
- Basic built-in
- Specified library and/or name-space
Specifying time and space (memory) limitations and/or recursion depth may also be warranted.
--top