aboutsummaryrefslogtreecommitdiff
path: root/docs/commentary
diff options
context:
space:
mode:
Diffstat (limited to 'docs/commentary')
-rw-r--r--docs/commentary/history.html2
1 files changed, 1 insertions, 1 deletions
diff --git a/docs/commentary/history.html b/docs/commentary/history.html
index 22197c09..77ebec7f 100644
--- a/docs/commentary/history.html
+++ b/docs/commentary/history.html
@@ -215,7 +215,7 @@
<h4 id="assert-primitive"><a class="header" href="#assert-primitive">Assert primitive</a></h4>
<p>Nathan Rogers suggested that assertion should be made a primitive to elevate it to a basic part of the language. I used J's <code><span class='Value'>assert</span></code> often enough for this idea to make sense immediately, but I think it was new to me. He suggested the dagger character; I changed this to the somewhat similar-looking <code><span class='Function'>!</span></code>. The error-trapping modifier <code><span class='Modifier2'>⎊</span></code> is identical to J's <code><span class='Value'>::</span></code>, but J only has the function <code><span class='Value'>[:</span></code> to unconditionally throw an error, with no way to set a message.</p>
<h4 id="context-free-grammar"><a class="header" href="#context-free-grammar">Context-free grammar</a></h4>
-<p>In YAG meetings, I suggested adopting <a href="https://aplwiki.com/wiki/APL%5Civ">APL\iv</a>'s convention that variable case must match variable type in order to achieve a context-free grammar. Adám, a proponent of case-insensitive names, pointed out that the case might indicate the type the programmer wanted to use instead of the value's type, creating cross roles.</p>
+<p>In YAG meetings, I suggested adopting <a href="https://aplwiki.com/wiki/APL%5Civ">APL\iv</a>'s convention that variable case must match variable type in order to achieve a context-free grammar. Adám, a proponent of case-insensitive names, pointed out that the case might indicate the type the programmer wanted to use instead of the value's type, creating cross roles. Although I considered swapping subjects and functions, I ended up using exactly the conventions of his APL <a href="https://abrudz.github.io/style/#nc">style guide</a>.</p>
<h4 id="headers"><a class="header" href="#headers">Headers</a></h4>
<p>The idea of dfn headers is very common in the APL community, to the extent that it's hard to say which proposals lead to the form now used in BQN. A+ has headers which are similar but go outside the braces, and BQN headers aren't all that different from tradfn headers either. I found when creating BQN2NGN that ngn/apl allows dfns to include a monadic and dyadic case, separated by a semicolon. Some time later I realized that the ability to include multiple bodies is very powerful with headers because it enables a primitive sort of pattern matching, something I already wanted to squeeze into the language. I discussed this with dzaima, who added header support to dzaima/BQN almost immediately and was thus able to investigate the details of the format.</p>
<h4 id="group"><a class="header" href="#group">Group</a></h4>