diff options
| author | Marshall Lochbaum <mwlochbaum@gmail.com> | 2021-03-21 20:20:07 -0400 |
|---|---|---|
| committer | Marshall Lochbaum <mwlochbaum@gmail.com> | 2021-03-21 20:20:07 -0400 |
| commit | be057fcd9a82f6e82ad31ba70358c8318ad81fe5 (patch) | |
| tree | d5b24f51eb8fd4822243ef2152fa9ea4f52b6104 /spec | |
| parent | f3fcc2928931c8ec0ca0770f71c52f5567390b10 (diff) | |
Add •ScopedEval
Diffstat (limited to 'spec')
| -rw-r--r-- | spec/system.md | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/spec/system.md b/spec/system.md index 47c68445..c08ab9af 100644 --- a/spec/system.md +++ b/spec/system.md @@ -45,14 +45,17 @@ Functions `•FChars`, `•FLines`, and `•FBytes` are all ambivalent. If only ## Execution and scope manipulation -| Name | Summary -|------------|-------------------------- -| `•BQN` | Evaluate the argument string in an isolated scope -| `•Eval` | Evaluate the argument string in the current scope -| `•Using` | Import all values from the argument namespace +| Name | Summary +|---------------|-------------------------- +| `•BQN` | Evaluate the argument string in an isolated scope +| `•Eval` | Evaluate the argument string in the current scope +| `•ScopedEval` | Evaluate the argument string in a scope +| `•Using` | Import all values from the argument namespace The effect of `•Eval` should be the same as if its argument were written as source code in the scope where `•Eval` appears. It can define variables, and modify those in the current scope or a parent. +`•ScopedEval` creates as new scope for evaluation as it is loaded. Other than its syntactic role, it is effectively equivalent to `{•Eval}`. + ## Input and output | Name | Summary |
