diff options
| -rw-r--r-- | docs/spec/system.html | 5 | ||||
| -rw-r--r-- | spec/system.md | 13 |
2 files changed, 13 insertions, 5 deletions
diff --git a/docs/spec/system.html b/docs/spec/system.html index 4a028f92..255265f4 100644 --- a/docs/spec/system.html +++ b/docs/spec/system.html @@ -88,12 +88,17 @@ <td>Evaluate the argument string in the current scope</td> </tr> <tr> +<td><code><span class='Function'>•ScopedEval</span></code></td> +<td>Evaluate the argument string in a scope</td> +</tr> +<tr> <td><code><span class='Function'>•Using</span></code></td> <td>Import all values from the argument namespace</td> </tr> </tbody> </table> <p>The effect of <code><span class='Function'>•Eval</span></code> should be the same as if its argument were written as source code in the scope where <code><span class='Function'>•Eval</span></code> appears. It can define variables, and modify those in the current scope or a parent.</p> +<p><code><span class='Function'>•ScopedEval</span></code> creates as new scope for evaluation as it is loaded. Other than its syntactic role, it is effectively equivalent to <code><span class='Brace'>{</span><span class='Function'>•Eval</span><span class='Brace'>}</span></code>.</p> <h2 id="input-and-output">Input and output</h2> <table> <thead> 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 |
