diff options
| author | Marshall Lochbaum <mwlochbaum@gmail.com> | 2022-07-14 20:06:50 -0400 |
|---|---|---|
| committer | Marshall Lochbaum <mwlochbaum@gmail.com> | 2022-07-14 20:06:50 -0400 |
| commit | e2b07a5fd0bbaad232c717fb90a31d6c61d72bd4 (patch) | |
| tree | 8cd1d594838a87f4257e73d1e0e32d69ec4a148c /docs/doc/rebqn.html | |
| parent | fe13f4a775a83073cb44d8e47ec4fdf9ec957bed (diff) | |
Try to include previous variable definitions in REPL links
Diffstat (limited to 'docs/doc/rebqn.html')
| -rw-r--r-- | docs/doc/rebqn.html | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/docs/doc/rebqn.html b/docs/doc/rebqn.html index a3d0c97e..36c0439c 100644 --- a/docs/doc/rebqn.html +++ b/docs/doc/rebqn.html @@ -27,7 +27,7 @@ ⟨ 0 1 2 3 4 5 6 7 8 ⟩ </pre> <p>Options can be used in any combination. Here's a calculator REPL:</p> -<a class="replLink" title="Open in the REPL" target="_blank" href="https://mlochbaum.github.io/BQN/try.html#code=Y2FsY1JlcGwg4oaQIOKAolJlQlFOIHtyZXBs4oeQInN0cmljdCIsIHByaW1pdGl2ZXPih5BjYWxjRm5zfQoKQ2FsY1JlcGwgImIg4oaQIDEgLSBh4oaQNiIKCkNhbGNSZXBsICJhICogYiI=">↗️</a><pre> <span class='Value'>calcRepl</span> <span class='Gets'>←</span> <span class='Function'>•ReBQN</span> <span class='Brace'>{</span><span class='Value'>repl</span><span class='Gets'>⇐</span><span class='String'>"strict"</span><span class='Separator'>,</span> <span class='Value'>primitives</span><span class='Gets'>⇐</span><span class='Value'>calcFns</span><span class='Brace'>}</span> +<a class="replLink" title="Open in the REPL" target="_blank" href="https://mlochbaum.github.io/BQN/try.html#code=cmVwbCDihpAg4oCiUmVCUU4ge3JlcGzih5Aic3RyaWN0In0gICMgTG93ZXJjYXNlIGZvciBmdW5jdGlvbiByZXN1bHQKY2FsY0ZucyDihpAg4p+oJysn4oC/KywgJy0n4oC/LSwgJyon4oC/w5csICcvJ+KAvyjihpXiipjDtynin6kKY2FsY1JlcGwg4oaQIOKAolJlQlFOIHtyZXBs4oeQInN0cmljdCIsIHByaW1pdGl2ZXPih5BjYWxjRm5zfQoKQ2FsY1JlcGwgImIg4oaQIDEgLSBh4oaQNiIKCkNhbGNSZXBsICJhICogYiI=">↗️</a><pre> <span class='Value'>calcRepl</span> <span class='Gets'>←</span> <span class='Function'>•ReBQN</span> <span class='Brace'>{</span><span class='Value'>repl</span><span class='Gets'>⇐</span><span class='String'>"strict"</span><span class='Separator'>,</span> <span class='Value'>primitives</span><span class='Gets'>⇐</span><span class='Value'>calcFns</span><span class='Brace'>}</span> <span class='Function'>CalcRepl</span> <span class='String'>"b ← 1 - a←6"</span> ¯5 @@ -37,19 +37,19 @@ </pre> <h2 id="repl-mode"><a class="header" href="#repl-mode">REPL mode</a></h2> <p>The <code><span class='Value'>repl</span></code> property can have the values <code><span class='String'>"none"</span></code>, <code><span class='String'>"strict"</span></code>, and <code><span class='String'>"loose"</span></code>. If no value is given it's equivalent to <code><span class='String'>"none"</span></code>, which means that the resulting function has no memory and each evaluation is independent from the others. But the values <code><span class='String'>"strict"</span></code> and <code><span class='String'>"loose"</span></code> make evaluations take place in a shared <a href="lexical.html">scope</a>. Now a variable defined at the top level of one source string is visible when later ones are evaluated, and can be viewed and modified.</p> -<a class="replLink" title="Open in the REPL" target="_blank" href="https://mlochbaum.github.io/BQN/try.html#code=ZG8g4oaQIOKAolJlQlFOIHtyZXBs4oeQImxvb3NlIn0KCkRvwqggImHihpA0IuKAvyLin6hhLGLihpA14p+pIuKAvyJ74p+oYeKGqfCdlaksYuKfqX04Ig==">↗️</a><pre> <span class='Value'>do</span> <span class='Gets'>←</span> <span class='Function'>•ReBQN</span> <span class='Brace'>{</span><span class='Value'>repl</span><span class='Gets'>⇐</span><span class='String'>"loose"</span><span class='Brace'>}</span> +<a class="replLink" title="Open in the REPL" target="_blank" href="https://mlochbaum.github.io/BQN/try.html#code=cmVwbCDihpAg4oCiUmVCUU4ge3JlcGzih5Aic3RyaWN0In0gICMgTG93ZXJjYXNlIGZvciBmdW5jdGlvbiByZXN1bHQKZG8g4oaQIOKAolJlQlFOIHtyZXBs4oeQImxvb3NlIn0KCkRvwqggImHihpA0IuKAvyLin6hhLGLihpA14p+pIuKAvyJ74p+oYeKGqfCdlaksYuKfqX04Ig==">↗️</a><pre> <span class='Value'>do</span> <span class='Gets'>←</span> <span class='Function'>•ReBQN</span> <span class='Brace'>{</span><span class='Value'>repl</span><span class='Gets'>⇐</span><span class='String'>"loose"</span><span class='Brace'>}</span> <span class='Function'>Do</span><span class='Modifier'>¨</span> <span class='String'>"a←4"</span><span class='Ligature'>‿</span><span class='String'>"⟨a,b←5⟩"</span><span class='Ligature'>‿</span><span class='String'>"{⟨a↩𝕩,b⟩}8"</span> ⟨ 4 ⟨ 4 5 ⟩ ⟨ 8 5 ⟩ ⟩ </pre> <p>A different <code><span class='Function'>•ReBQN</span></code> result has its own scope and can't access these variables.</p> -<a class="replLink" title="Open in the REPL" target="_blank" href="https://mlochbaum.github.io/BQN/try.html#code=ZG9Ob3Qg4oaQIOKAolJlQlFOIHtyZXBs4oeQImxvb3NlIn0KCkRvTm90ICJiIiAjIHN1cnByaXNlZCB3aGVuIHRoaXMgZmFpbHM=">↗️</a><pre> <span class='Value'>doNot</span> <span class='Gets'>←</span> <span class='Function'>•ReBQN</span> <span class='Brace'>{</span><span class='Value'>repl</span><span class='Gets'>⇐</span><span class='String'>"loose"</span><span class='Brace'>}</span> +<a class="replLink" title="Open in the REPL" target="_blank" href="https://mlochbaum.github.io/BQN/try.html#code=cmVwbCDihpAg4oCiUmVCUU4ge3JlcGzih5Aic3RyaWN0In0gICMgTG93ZXJjYXNlIGZvciBmdW5jdGlvbiByZXN1bHQKZG9Ob3Qg4oaQIOKAolJlQlFOIHtyZXBs4oeQImxvb3NlIn0KCkRvTm90ICJiIiAjIHN1cnByaXNlZCB3aGVuIHRoaXMgZmFpbHM=">↗️</a><pre> <span class='Value'>doNot</span> <span class='Gets'>←</span> <span class='Function'>•ReBQN</span> <span class='Brace'>{</span><span class='Value'>repl</span><span class='Gets'>⇐</span><span class='String'>"loose"</span><span class='Brace'>}</span> <span class='Function'>DoNot</span> <span class='String'>"b"</span> <span class='Comment'># surprised when this fails </span><span class='Error'>Error: Undefined identifier</span> </pre> <p>The difference in <code><span class='String'>"strict"</span></code> and <code><span class='String'>"loose"</span></code> is that a loose REPL can define a variable again, which just changes its value (under the covers, the <code><span class='Gets'>←</span></code> is treated as a <code><span class='Gets'>↩</span></code>).</p> -<a class="replLink" title="Open in the REPL" target="_blank" href="https://mlochbaum.github.io/BQN/try.html#code=RG8gImEg4oaQIMKvMSIKRG8gImEg4oaQIGLigL9hIgoKKOKAolJlQlFOIHtyZXBs4oeQInN0cmljdCJ9KeKOikDCqCAiYeKGkDEi4oC/ImHihpAyIiAgIyBTZWNvbmQgb25lIGVycm9ycw==">↗️</a><pre> <span class='Function'>Do</span> <span class='String'>"a ← ¯1"</span> +<a class="replLink" title="Open in the REPL" target="_blank" href="https://mlochbaum.github.io/BQN/try.html#code=cmVwbCDihpAg4oCiUmVCUU4ge3JlcGzih5Aic3RyaWN0In0gICMgTG93ZXJjYXNlIGZvciBmdW5jdGlvbiByZXN1bHQKZG8g4oaQIOKAolJlQlFOIHtyZXBs4oeQImxvb3NlIn0KRG8gImEg4oaQIMKvMSIKRG8gImEg4oaQIGLigL9hIgoKKOKAolJlQlFOIHtyZXBs4oeQInN0cmljdCJ9KeKOikDCqCAiYeKGkDEi4oC/ImHihpAyIiAgIyBTZWNvbmQgb25lIGVycm9ycw==">↗️</a><pre> <span class='Function'>Do</span> <span class='String'>"a ← ¯1"</span> ¯1 <span class='Function'>Do</span> <span class='String'>"a ← b‿a"</span> ⟨ 5 ¯1 ⟩ |
