aboutsummaryrefslogtreecommitdiff
path: root/docs/doc/control.html
diff options
context:
space:
mode:
authorMarshall Lochbaum <mwlochbaum@gmail.com>2021-07-18 17:53:37 -0400
committerMarshall Lochbaum <mwlochbaum@gmail.com>2021-07-18 17:53:37 -0400
commit7e0e38bd155fab76fa3b6776f9184611d044903d (patch)
tree9cbd13e8aae249cb97b1dd2b22a084817093890c /docs/doc/control.html
parentbbecd676b7c127fead3ef172bbae3ddf2fb7f19a (diff)
Finish lexical scope documentation
Diffstat (limited to 'docs/doc/control.html')
-rw-r--r--docs/doc/control.html2
1 files changed, 1 insertions, 1 deletions
diff --git a/docs/doc/control.html b/docs/doc/control.html
index c00ce6e5..bf8f65de 100644
--- a/docs/doc/control.html
+++ b/docs/doc/control.html
@@ -22,7 +22,7 @@
<span class='Function'>Test</span> <span class='Gets'>โ†</span> <span class='Brace'>{</span><span class='Value'>fn</span><span class='Gets'>โ†</span><span class='Brace'>{</span><span class='Function'>C</span><span class='Ligature'>โ€ฟ</span><span class='Function'>A๐•Š</span><span class='Value'>e:</span><span class='Function'>C</span><span class='Modifier2'>โ—ถ</span><span class='Function'>A</span><span class='Ligature'>โ€ฟ</span><span class='Function'>E</span><span class='Brace'>}</span><span class='Modifier'>ยด</span><span class='Value'>๐•ฉ</span><span class='Separator'>โ‹„</span><span class='Function'>Fn</span><span class='String'>@</span><span class='Brace'>}</span>
</pre>
<h2 id="blocks-and-functions">Blocks and functions</h2>
-<p>Control structures are generally defined to work with blocks of code, which they might skip, or execute one or more times. This might sound like a BQN immediate block, which also consists of a sequence of code to execute, but immediate blocks are always executed as soon as they are encountered and can't be manipulated the way that blocks in imperative languages can. They're intended to be used with lexical scoping as a tool for encapsulation. Instead, the main tool we will use to get control structures is the block function.</p>
+<p>Control structures are generally defined to work with blocks of code, which they might skip, or execute one or more times. This might sound like a BQN immediate block, which also consists of a sequence of code to execute, but immediate blocks are always executed as soon as they are encountered and can't be manipulated the way that blocks in imperative languages can. They're intended to be used with <a href="lexical.html">lexical scoping</a> as a tool for encapsulation. Instead, the main tool we will use to get control structures is the block function.</p>
<p>Using functions as blocks is a little outside their intended purpose, and the fact that they have to be passed an argument and are expected to use it will be a minor annoyance. The following conventions signal a function that ignores its argument and is called purely for the side effects:</p>
<ul>
<li>Pass <code><span class='String'>@</span></code> to a function that ignores its argument. It's a nice signal that nothing is happening and is easy to type.</li>