diff options
Diffstat (limited to 'docs/doc')
| -rw-r--r-- | docs/doc/fromJ.html | 568 | ||||
| -rw-r--r-- | docs/doc/index.html | 1 |
2 files changed, 569 insertions, 0 deletions
diff --git a/docs/doc/fromJ.html b/docs/doc/fromJ.html new file mode 100644 index 00000000..72d4f59b --- /dev/null +++ b/docs/doc/fromJ.html @@ -0,0 +1,568 @@ +<head> + <link href="../favicon.ico" rel="shortcut icon" type="image/x-icon"/> + <link href="../style.css" rel="stylesheet"/> + <title>BQN–J dictionary</title> +</head> +<div class="nav"><a href="https://github.com/mlochbaum/BQN">BQN</a> / <a href="../index.html">main</a> / <a href="index.html">doc</a></div> +<h1 id="bqnj-dictionary">BQN–J dictionary</h1> +<style>.Comment { color: inherit; }</style> +<p>A guide to help users of J get up to speed with BQN quickly.</p> +<h2 id="terminology">Terminology</h2> +<h3 id="array-model">Array model</h3> +<p>BQN uses the <a href="based.html">based array model</a>, which is fundamentally different from J's flat array model. BQN uses non-array values such as characters and numbers, called "atoms", while in J every noun is an array. A BQN array can contain any values in any mixture, while a J array must be uniformly numbers, characters, or boxes (BQN doesn't use boxes).</p> +<p>The J terms "atom" and "element" are used to mean different things by different authors. In BQN, an atom or rank-0 array is called a "unit", and the values contained in an array—which may or may not be arrays—are called "elements". Each element is contained in a 0-cell, or rank-0 subarray. BQN uses the term "major cell" for what J calls an "item" of an array: a cell with rank one less than that array. BQN shares the terms "list" and "table" for rank-1 and rank-2 arrays with J.</p> +<p>BQN uses "<a href="depth.html">depth</a>" rather than "boxing level". BQN gives atoms depth 0, so that the depth of a BQN array is one higher than the boxing level of the corresponding J array.</p> +<h3 id="roles">Roles</h3> +<p>In J, the part of speech is an inherent property of a value, while in BQN it is determined by how the value is used in a particular expression, and can be different from the value's type. See <a href="context.html">context-free grammar</a>.</p> +<table> +<thead> +<tr> +<th>J part of speech</th> +<th>BQN role</th> +</tr> +</thead> +<tbody> +<tr> +<td>Noun</td> +<td>Subject</td> +</tr> +<tr> +<td>Verb</td> +<td>Function</td> +</tr> +<tr> +<td>Adverb</td> +<td>1-modifier</td> +</tr> +<tr> +<td>Conjunction</td> +<td>2-modifier</td> +</tr> +</tbody> +</table> +<h2 id="syntax">Syntax</h2> +<table> +<thead> +<tr> +<th>J</th> +<th>BQN</th> +<th>Remarks</th> +</tr> +</thead> +<tbody> +<tr> +<td><code><span class='Function'>NB.</span></code></td> +<td><code><span class='Comment'>#</span></code></td> +<td></td> +</tr> +<tr> +<td><code><span class='String'>'</span></code></td> +<td><code><span class='String'>"</span></code></td> +<td><code><span class='String'>'</span></code> creates characters</td> +</tr> +<tr> +<td><code><span class='Function'>=</span><span class='Number'>.</span></code> and <code><span class='Function'>=</span><span class='Value'>:</span></code></td> +<td><code><span class='Gets'>←</span></code> and <code><span class='Gets'>↩</span></code></td> +<td><code><span class='Gets'>←</span></code> to define; <code><span class='Gets'>↩</span></code> to modify</td> +</tr> +<tr> +<td><code><span class='Number'>3</span> <span class='Value'>:…</span></code> or <code><span class='Brace'>{{</span><span class='Value'>…</span><span class='Brace'>}}</span></code></td> +<td><code><span class='Value'>;</span></code></td> +<td>To separate function cases</td> +</tr> +<tr> +<td><code><span class='Value'>:</span></code></td> +<td><code><span class='Brace'>{</span><span class='Value'>…</span><span class='Brace'>}</span></code></td> +<td></td> +</tr> +<tr> +<td><code><span class='Value'>x</span></code> <code><span class='Value'>y</span></code></td> +<td><code><span class='Value'>𝕨</span></code> <code><span class='Value'>𝕩</span></code></td> +<td><code><span class='Function'>𝕊</span></code> for block function self-reference</td> +</tr> +<tr> +<td><code><span class='Value'>u</span></code> <code><span class='Value'>v</span></code></td> +<td><code><span class='Function'>𝔽</span></code> <code><span class='Function'>𝔾</span></code></td> +<td><code><span class='Value'>𝕣</span></code> for block modifier self-reference</td> +</tr> +<tr> +<td><code><span class='Modifier2'>_</span></code></td> +<td><code><span class='Number'>¯</span></code> or <code><span class='Number'>∞</span></code></td> +<td></td> +</tr> +<tr> +<td><code><span class='Number'>2</span> <span class='Number'>3</span> <span class='Number'>4</span></code></td> +<td><code><span class='Number'>2</span><span class='Ligature'>‿</span><span class='Number'>3</span><span class='Ligature'>‿</span><span class='Number'>4</span></code></td> +<td></td> +</tr> +<tr> +<td><code><span class='Value'>[:</span></code></td> +<td><code><span class='Nothing'>·</span></code></td> +<td>Cap</td> +</tr> +<tr> +<td><code><span class='Value'>assert.</span></code></td> +<td><code><span class='Function'>!</span></code></td> +<td></td> +</tr> +</tbody> +</table> +<p>BQN's explicit functions and modifiers are called "blocks", and have a more sophisticated syntax than J; see <a href="block.html">the documentation</a>. BQN uses lexical scope, and has no global variables. BQN also has a <a href="syntax.html#list-notation">list notation</a> using <code><span class='Bracket'>⟨⟩</span></code>.</p> +<h2 id="for-reading">For reading</h2> +<p>J analogues of BQN primitive functions are given below. They are not always the same; usually this is because BQN has extra functionality relative to J, although in some cases it has less or different functionality.</p> +<p>Functions <code><span class='Function'>+</span></code> <code><span class='Function'>-</span></code> <code><span class='Function'>|</span></code> <code><span class='Function'><</span></code> <code><span class='Function'>></span></code> are the same in both languages.</p> +<table> +<thead> +<tr> +<th align="center">BQN</th> +<th align="center"><code><span class='Function'>×</span></code></th> +<th align="center"><code><span class='Function'>÷</span></code></th> +<th align="center"><code><span class='Function'>⋆</span></code></th> +<th align="center"><code><span class='Function'>√</span></code></th> +<th align="center"><code><span class='Function'>⌊</span></code></th> +<th align="center"><code><span class='Function'>⌈</span></code></th> +<th align="center"><code><span class='Function'>≤</span></code></th> +<th align="center"><code><span class='Function'>≥</span></code></th> +<th align="center"><code><span class='Function'>⊣</span></code></th> +<th align="center"><code><span class='Function'>⊢</span></code></th> +<th align="center"><code><span class='Function'>⌽</span></code></th> +<th align="center"><code><span class='Function'>⍉</span></code></th> +</tr> +</thead> +<tbody> +<tr> +<td align="center">J</td> +<td align="center"><code><span class='Value'>*</span></code></td> +<td align="center"><code><span class='Value'>%</span></code></td> +<td align="center"><code><span class='Value'>^</span></code></td> +<td align="center"><code><span class='Value'>%:</span></code></td> +<td align="center"><code><span class='Function'><</span><span class='Number'>.</span></code></td> +<td align="center"><code><span class='Function'>></span><span class='Number'>.</span></code></td> +<td align="center"><code><span class='Function'><</span><span class='Value'>:</span></code></td> +<td align="center"><code><span class='Function'>></span><span class='Value'>:</span></code></td> +<td align="center"><code><span class='Value'>[</span></code></td> +<td align="center"><code><span class='Value'>]</span></code></td> +<td align="center"><code><span class='Function'>|</span><span class='Number'>.</span></code></td> +<td align="center"><code><span class='Function'>|</span><span class='Value'>:</span></code></td> +</tr> +</tbody> +</table> +<table> +<thead> +<tr> +<th align="center">BQN</th> +<th align="center"><code><span class='Function'>∧</span></code></th> +<th align="center"><code><span class='Function'>∨</span></code></th> +<th align="center"><code><span class='Function'>¬</span></code></th> +<th align="center"><code><span class='Function'>=</span></code></th> +<th align="center"><code><span class='Function'>≠</span></code></th> +<th align="center"><code><span class='Function'>≡</span></code></th> +<th align="center"><code><span class='Function'>≢</span></code></th> +<th align="center"><code><span class='Function'>⥊</span></code></th> +<th align="center"><code><span class='Function'>∾</span></code></th> +<th align="center"><code><span class='Function'>≍</span></code></th> +</tr> +</thead> +<tbody> +<tr> +<td align="center">Monad</td> +<td align="center"><code><span class='Function'>/</span><span class='Value'>:~</span></code></td> +<td align="center"><code><span class='Value'>\:~</span></code></td> +<td align="center"><code><span class='Function'>-</span><span class='Number'>.</span></code></td> +<td align="center"><code><span class='Comment'>#@$</span></code></td> +<td align="center"><code><span class='Comment'>#</span></code></td> +<td align="center"><code><span class='Function'>L.</span></code></td> +<td align="center"><code><span class='Value'>$</span></code></td> +<td align="center"><code><span class='Separator'>,</span></code></td> +<td align="center"><code><span class='Value'>;</span></code></td> +<td align="center"><code><span class='Separator'>,</span><span class='Value'>:</span></code></td> +</tr> +<tr> +<td align="center">Dyad</td> +<td align="center"><code><span class='Value'>*</span><span class='Number'>.</span></code></td> +<td align="center"><code><span class='Function'>+</span><span class='Number'>.</span></code></td> +<td align="center"><code><span class='Function'>+-</span><span class='Number'>.</span></code></td> +<td align="center"><code><span class='Function'>=</span></code></td> +<td align="center"><code><span class='Value'>~:</span></code></td> +<td align="center"><code><span class='Function'>-</span><span class='Value'>:</span></code></td> +<td align="center"><code><span class='Function'>-</span><span class='Number'>.</span><span class='String'>@</span><span class='Function'>-</span><span class='Value'>:</span></code></td> +<td align="center"><code><span class='Value'>$</span></code></td> +<td align="center"><code><span class='Separator'>,</span></code></td> +<td align="center"><code><span class='Separator'>,</span><span class='Value'>:</span></code></td> +</tr> +</tbody> +</table> +<table> +<thead> +<tr> +<th align="center">BQN</th> +<th align="center"><code><span class='Function'>↑</span></code></th> +<th align="center"><code><span class='Function'>↓</span></code></th> +<th align="center"><code><span class='Function'>↕</span></code></th> +<th align="center"><code><span class='Function'>»</span></code></th> +<th align="center"><code><span class='Function'>«</span></code></th> +<th align="center"><code><span class='Function'>/</span></code></th> +</tr> +</thead> +<tbody> +<tr> +<td align="center">Monad</td> +<td align="center"><code><span class='Function'><</span><span class='Value'>\</span></code></td> +<td align="center"><code><span class='Function'><</span><span class='Value'>\</span><span class='Number'>.</span></code></td> +<td align="center"><code><span class='Value'>i.</span></code></td> +<td align="center"><code><span class='Comment'>#{.(_1-#){.]</span></code></td> +<td align="center"><code><span class='Function'>-</span><span class='String'>@</span><span class='Comment'>#{.(1+#){.]</span></code></td> +<td align="center"><code><span class='Function'>I.</span></code></td> +</tr> +<tr> +<td align="center">Dyad</td> +<td align="center"><code><span class='Brace'>{</span><span class='Number'>.</span></code></td> +<td align="center"><code><span class='Brace'>}</span><span class='Number'>.</span></code></td> +<td align="center"><code><span class='Function'><</span><span class='Value'>\</span></code></td> +<td align="center"><code><span class='Comment'>#@]{.,</span></code></td> +<td align="center"><code><span class='Function'>-</span><span class='String'>@</span><span class='Comment'>#@]{.,~</span></code></td> +<td align="center"><code><span class='Comment'>#</span></code></td> +</tr> +</tbody> +</table> +<table> +<thead> +<tr> +<th align="center">BQN</th> +<th align="center"><code><span class='Function'>⍋</span></code></th> +<th align="center"><code><span class='Function'>⍒</span></code></th> +<th align="center"><code><span class='Function'>⊏</span></code></th> +<th align="center"><code><span class='Function'>⊑</span></code></th> +<th align="center"><code><span class='Function'>⊐</span></code></th> +<th align="center"><code><span class='Function'>⊒</span></code></th> +<th align="center"><code><span class='Function'>∊</span></code></th> +<th align="center"><code><span class='Function'>⍷</span></code></th> +<th align="center"><code><span class='Function'>⊔</span></code></th> +</tr> +</thead> +<tbody> +<tr> +<td align="center">Monad</td> +<td align="center"><code><span class='Function'>/</span><span class='Value'>:</span></code></td> +<td align="center"><code><span class='Function'>/</span><span class='Value'>:</span></code></td> +<td align="center"><code><span class='Brace'>{</span><span class='Number'>.</span></code></td> +<td align="center"><code><span class='Number'>0</span><span class='Brace'>{</span><span class='Value'>::</span><span class='Separator'>,</span></code></td> +<td align="center"><code><span class='Value'>i.~~</span><span class='Number'>.</span></code></td> +<td align="center"><code><span class='Value'>…</span></code></td> +<td align="center"><code><span class='Value'>~:</span></code></td> +<td align="center"><code><span class='Value'>~</span><span class='Number'>.</span></code></td> +<td align="center"><code><span class='Function'></</span><span class='Number'>.i.</span><span class='String'>@</span><span class='Comment'>#</span></code></td> +</tr> +<tr> +<td align="center">Dyad</td> +<td align="center"><code><span class='Function'>I.</span></code></td> +<td align="center"><code><span class='Function'>I.</span><span class='Value'>&:</span><span class='Function'>-</span></code></td> +<td align="center"><code><span class='Brace'>{</span></code></td> +<td align="center"><code><span class='Brace'>{</span><span class='Value'>::</span></code></td> +<td align="center"><code><span class='Value'>i.</span></code></td> +<td align="center"><code><span class='Value'>…</span></code></td> +<td align="center"><code><span class='Value'>e.</span></code></td> +<td align="center"><code><span class='Function'>E.</span></code></td> +<td align="center"><code><span class='Function'></</span><span class='Number'>.</span></code></td> +</tr> +</tbody> +</table> +<p>Most of BQN's combinators have J equivalents. The J equivalent <code><span class='String'>"</span><span class='Modifier2'>_</span></code> for <code><span class='Modifier'>˙</span></code> assumes a noun operand, but <code><span class='Modifier'>˙</span></code> makes a constant function for any operand. <code><span class='Modifier2'>◶</span></code> has arguments reversed relative to <code><span class='String'>@</span><span class='Number'>.</span></code>, and uses an actual array of functions rather than gerunds. Besides these, BQN's <code><span class='Modifier2'>⟜</span></code> is like a J hook, that is, <code><span class='Function'>F</span><span class='Modifier2'>⟜</span><span class='Function'>G</span></code> is <code><span class='Paren'>(</span><span class='Function'>F</span> <span class='Function'>G</span><span class='Paren'>)</span></code>, and <code><span class='Modifier2'>⊸</span></code> applies in the opposite direction.</p> +<table> +<thead> +<tr> +<th align="center">BQN</th> +<th align="center"><code><span class='Modifier'>˙</span></code></th> +<th align="center"><code><span class='Modifier'>˜</span></code></th> +<th align="center"><code><span class='Modifier2'>∘</span></code></th> +<th align="center"><code><span class='Modifier2'>○</span></code></th> +<th align="center"><code><span class='Modifier2'>⌾</span></code></th> +<th align="center"><code><span class='Modifier2'>⊘</span></code></th> +<th align="center"><code><span class='Modifier2'>◶</span></code></th> +</tr> +</thead> +<tbody> +<tr> +<td align="center">J</td> +<td align="center"><code><span class='String'>"</span><span class='Modifier2'>_</span></code></td> +<td align="center"><code><span class='Value'>~</span></code></td> +<td align="center"><code><span class='String'>@</span><span class='Value'>:</span></code></td> +<td align="center"><code><span class='Value'>&:</span></code></td> +<td align="center"><code><span class='Value'>&</span><span class='Number'>.</span><span class='Value'>:</span></code></td> +<td align="center"><code><span class='Value'>:</span></code></td> +<td align="center"><code><span class='String'>@</span><span class='Number'>.</span></code></td> +</tr> +</tbody> +</table> +<p>For other modifiers the correspondence is looser. Here <code><span class='Modifier'>⌜</span></code> shows the dyadic case and <code><span class='Modifier'>´</span></code> the monadic case only.</p> +<table> +<thead> +<tr> +<th align="center">BQN</th> +<th align="center"><code><span class='Modifier'>¨</span></code></th> +<th align="center"><code><span class='Modifier'>⌜</span></code></th> +<th align="center"><code><span class='Modifier'>´</span></code></th> +<th align="center"><code><span class='Modifier'>˝</span></code></th> +<th align="center"><code><span class='Modifier'>`</span></code></th> +<th align="center"><code><span class='Modifier'>˘</span></code></th> +<th align="center"><code><span class='Modifier2'>⎉</span></code></th> +<th align="center"><code><span class='Modifier2'>⚇</span></code></th> +<th align="center"><code><span class='Modifier2'>⍟</span></code></th> +<th align="center"><code><span class='Modifier'>⁼</span></code></th> +</tr> +</thead> +<tbody> +<tr> +<td align="center">J</td> +<td align="center"><code><span class='Value'>&</span><span class='Number'>.</span><span class='Function'>></span></code></td> +<td align="center"><code><span class='Value'>&</span><span class='Number'>.</span><span class='Function'>>/</span></code></td> +<td align="center"><code><span class='Value'>&</span><span class='Number'>.</span><span class='Function'>>/</span></code></td> +<td align="center"><code><span class='Function'>/</span></code></td> +<td align="center"><code><span class='Function'>/</span><span class='Value'>\</span></code></td> +<td align="center"><code><span class='String'>"</span><span class='Modifier'>_1</span></code></td> +<td align="center"><code><span class='String'>"</span></code></td> +<td align="center"><code><span class='Function'>L</span><span class='Value'>:</span></code></td> +<td align="center"><code><span class='Value'>^:</span></code></td> +<td align="center"><code><span class='Value'>^:</span><span class='Modifier'>_1</span></code></td> +</tr> +</tbody> +</table> +<h2 id="for-writing">For writing</h2> +<p>J's primitive nouns are easily defined in BQN.</p> +<table> +<thead> +<tr> +<th>J</th> +<th>BQN</th> +</tr> +</thead> +<tbody> +<tr> +<td><code><span class='Value'>a.</span></code></td> +<td><code><span class='String'>@</span><span class='Function'>+↕</span><span class='Number'>256</span></code></td> +</tr> +<tr> +<td><code><span class='Value'>a:</span></code></td> +<td><code><span class='Function'><↕</span><span class='Number'>0</span></code></td> +</tr> +</tbody> +</table> +<p>Functions <code><span class='Function'>+</span></code> <code><span class='Function'>-</span></code> <code><span class='Function'>|</span></code> <code><span class='Function'><</span></code> <code><span class='Function'>></span></code> are the same in both languages.</p> +<p>Some other primitives are essentially the same in J and BQN, but with different spellings (but <a href="transpose.html">transpose</a> behaves differently; J's dyadic <code><span class='Function'>|</span><span class='Value'>:</span></code> is more like <code><span class='Function'>⍉</span><span class='Modifier'>⁼</span></code>):</p> +<table> +<thead> +<tr> +<th align="center">J</th> +<th align="center"><code><span class='Value'>*</span></code></th> +<th align="center"><code><span class='Value'>%</span></code></th> +<th align="center"><code><span class='Value'>^</span></code></th> +<th align="center"><code><span class='Value'>^</span><span class='Number'>.</span></code></th> +<th align="center"><code><span class='Value'>%:</span></code></th> +<th align="center"><code><span class='Function'><</span><span class='Number'>.</span></code></th> +<th align="center"><code><span class='Function'>></span><span class='Number'>.</span></code></th> +<th align="center"><code><span class='Value'>[</span></code></th> +<th align="center"><code><span class='Value'>]</span></code></th> +<th align="center"><code><span class='Function'>|</span><span class='Number'>.</span></code></th> +<th align="center"><code><span class='Function'>|</span><span class='Value'>:</span></code></th> +</tr> +</thead> +<tbody> +<tr> +<td align="center">BQN</td> +<td align="center"><code><span class='Function'>×</span></code></td> +<td align="center"><code><span class='Function'>÷</span></code></td> +<td align="center"><code><span class='Function'>⋆</span></code></td> +<td align="center"><code><span class='Function'>⋆</span><span class='Modifier'>⁼</span></code></td> +<td align="center"><code><span class='Function'>√</span></code></td> +<td align="center"><code><span class='Function'>⌊</span></code></td> +<td align="center"><code><span class='Function'>⌈</span></code></td> +<td align="center"><code><span class='Function'>⊣</span></code></td> +<td align="center"><code><span class='Function'>⊢</span></code></td> +<td align="center"><code><span class='Function'>⌽</span></code></td> +<td align="center"><code><span class='Function'>⍉</span></code></td> +</tr> +</tbody> +</table> +<p>Additionally, <code><span class='Function'>|</span><span class='Number'>.</span><span class='Function'>!</span><span class='Number'>.f</span></code> is <code><span class='Function'>⥊</span><span class='Modifier2'>⟜</span><span class='Value'>f</span><span class='Modifier2'>⊸</span><span class='Function'>«</span></code> with a natural number left argument. Change <code><span class='Function'>«</span></code> to <code><span class='Function'>»</span></code> to rotate right instead of left.</p> +<p>The tables below give approximate implementations of J primitives. J has a whole lot of complicated primitives that no one uses (some of which are officially deprecated), so not everything is translated here.</p> +<table> +<thead> +<tr> +<th>J</th> +<th>Monad</th> +<th>Dyad</th> +</tr> +</thead> +<tbody> +<tr> +<td><code><span class='Function'>=</span></code></td> +<td><code><span class='Function'>⍷</span><span class='Modifier2'>⊸</span><span class='Paren'>(</span><span class='Function'>≡</span><span class='Modifier'>⌜</span><span class='Paren'>)</span></code></td> +<td><code><span class='Function'>=</span></code></td> +</tr> +<tr> +<td><code><span class='Function'><</span><span class='Value'>:</span></code></td> +<td><code><span class='Function'>-</span><span class='Modifier2'>⟜</span><span class='Number'>1</span></code></td> +<td><code><span class='Function'>≤</span></code></td> +</tr> +<tr> +<td><code><span class='Function'>></span><span class='Value'>:</span></code></td> +<td><code><span class='Number'>1</span><span class='Modifier2'>⊸</span><span class='Function'>+</span></code></td> +<td><code><span class='Function'>≥</span></code></td> +</tr> +<tr> +<td><code><span class='Function'>+</span><span class='Number'>.</span></code></td> +<td></td> +<td><code><span class='Function'>∨</span></code></td> +</tr> +<tr> +<td><code><span class='Function'>+</span><span class='Value'>:</span></code></td> +<td><code><span class='Number'>2</span><span class='Modifier2'>⊸</span><span class='Function'>×</span></code></td> +<td><code><span class='Function'>¬∨</span></code></td> +</tr> +<tr> +<td><code><span class='Value'>*:</span></code></td> +<td><code><span class='Function'>×</span><span class='Modifier'>˜</span></code></td> +<td><code><span class='Function'>¬∧</span></code></td> +</tr> +<tr> +<td><code><span class='Function'>-</span><span class='Number'>.</span></code></td> +<td><code><span class='Function'>¬</span></code></td> +<td><code><span class='Function'>¬</span><span class='Modifier2'>∘</span><span class='Function'>∊/⊣</span></code></td> +</tr> +<tr> +<td><code><span class='Function'>-</span><span class='Value'>:</span></code></td> +<td><code><span class='Function'>÷</span><span class='Modifier2'>⟜</span><span class='Number'>2</span></code></td> +<td><code><span class='Function'>≡</span></code></td> +</tr> +<tr> +<td><code><span class='Value'>%</span><span class='Number'>.</span></code></td> +<td></td> +<td><code><span class='Function'>+</span><span class='Modifier'>˝</span><span class='Modifier2'>∘</span><span class='Function'>×</span><span class='Modifier2'>⎉</span><span class='Number'>1</span><span class='Ligature'>‿</span><span class='Number'>∞</span><span class='Modifier'>⁼</span></code></td> +</tr> +<tr> +<td><code><span class='Value'>$</span></code></td> +<td><code><span class='Function'>≢</span></code></td> +<td><code><span class='Function'>⥊</span></code></td> +</tr> +<tr> +<td><code><span class='Value'>~</span><span class='Number'>.</span></code></td> +<td><code><span class='Function'>⍷</span></code></td> +<td></td> +</tr> +<tr> +<td><code><span class='Value'>~:</span></code></td> +<td><code><span class='Function'>∊</span></code></td> +<td><code><span class='Function'>≠</span></code></td> +</tr> +<tr> +<td><code><span class='Separator'>,</span></code></td> +<td><code><span class='Function'>⥊</span></code></td> +<td><code><span class='Function'>∾</span></code></td> +</tr> +<tr> +<td><code><span class='Separator'>,</span><span class='Number'>.</span></code></td> +<td><code><span class='Function'>⥊</span><span class='Modifier'>˘</span></code></td> +<td><code><span class='Function'>∾</span><span class='Modifier'>˘</span></code></td> +</tr> +<tr> +<td><code><span class='Separator'>,</span><span class='Value'>:</span></code></td> +<td><code><span class='Function'>≍</span></code></td> +<td></td> +</tr> +<tr> +<td><code><span class='Value'>;</span></code></td> +<td><code><span class='Function'>∾</span></code></td> +<td><code><span class='Function'>∾</span><span class='Modifier2'>⟜</span><span class='Paren'>(</span><span class='Function'><</span><span class='Modifier2'>⍟</span><span class='Paren'>(</span><span class='Number'>1</span><span class='Function'>≥≡</span><span class='Paren'>))</span></code></td> +</tr> +<tr> +<td><code><span class='Comment'>#</span></code></td> +<td><code><span class='Function'>≠</span></code></td> +<td><code><span class='Function'>/</span></code></td> +</tr> +<tr> +<td><code><span class='Comment'>#.</span></code></td> +<td><code><span class='Function'>+</span><span class='Modifier'>˜</span><span class='Modifier2'>⊸</span><span class='Function'>+</span><span class='Modifier'>˜´</span><span class='Modifier2'>∘</span><span class='Function'>⌽</span></code></td> +<td></td> +</tr> +<tr> +<td><code><span class='Comment'>#:</span></code></td> +<td><code><span class='Function'>⌽</span><span class='Number'>2</span><span class='Function'>|⌊</span><span class='Modifier2'>∘</span><span class='Function'>÷</span><span class='Modifier2'>⟜</span><span class='Number'>2</span><span class='Modifier2'>⍟</span><span class='Paren'>(</span><span class='Function'>↕</span><span class='Number'>1</span><span class='Function'>+</span><span class='Nothing'>·</span><span class='Function'>⌊</span><span class='Number'>2</span><span class='Function'>⋆</span><span class='Modifier'>⁼</span><span class='Function'>⊢</span><span class='Paren'>)</span></code></td> +<td><code><span class='Brace'>{</span><span class='Value'>𝕨</span><span class='Function'>|</span><span class='Number'>1</span><span class='Function'>↓⌊</span><span class='Modifier2'>∘</span><span class='Function'>÷</span><span class='Modifier'>`</span><span class='Modifier2'>⌾</span><span class='Function'>⌽</span><span class='Value'>𝕨</span><span class='Function'>∾<</span><span class='Value'>𝕩</span><span class='Brace'>}</span></code></td> +</tr> +<tr> +<td><code><span class='Function'>!</span></code></td> +<td><code><span class='Function'>×</span><span class='Modifier'>´</span><span class='Number'>1</span><span class='Function'>+↕</span></code></td> +<td><code><span class='Function'>-</span><span class='Modifier'>˜</span><span class='Paren'>(</span><span class='Function'>+÷</span><span class='Modifier2'>○</span><span class='Paren'>(</span><span class='Function'>×</span><span class='Modifier'>´</span><span class='Paren'>)</span><span class='Function'>⊢</span><span class='Paren'>)</span><span class='Number'>1</span><span class='Function'>+↕</span><span class='Modifier2'>∘</span><span class='Function'>⊣</span></code></td> +</tr> +<tr> +<td><code><span class='Function'>/</span><span class='Value'>:</span></code></td> +<td><code><span class='Function'>⍋</span></code></td> +<td><code><span class='Function'>⍋</span><span class='Modifier2'>⊸</span><span class='Function'>⊏</span></code></td> +</tr> +<tr> +<td><code><span class='Value'>\:</span></code></td> +<td><code><span class='Function'>⍒</span></code></td> +<td><code><span class='Function'>⍒</span><span class='Modifier2'>⊸</span><span class='Function'>⊏</span></code></td> +</tr> +<tr> +<td><code><span class='Brace'>{</span></code></td> +<td><code><span class='Paren'>(</span><span class='Function'><</span><span class='Bracket'>⟨⟩</span><span class='Paren'>)</span><span class='Function'><</span><span class='Modifier2'>⊸</span><span class='Function'>∾</span><span class='Modifier'>⌜´</span><span class='Function'>⊢</span></code></td> +<td><code><span class='Function'>⊏</span></code></td> +</tr> +<tr> +<td><code><span class='Brace'>{</span><span class='Number'>.</span></code></td> +<td><code><span class='Function'>⊏</span></code></td> +<td><code><span class='Function'>↑</span></code></td> +</tr> +<tr> +<td><code><span class='Brace'>{</span><span class='Value'>:</span></code></td> +<td><code><span class='Function'>⊢</span><span class='Modifier'>˝</span></code></td> +<td></td> +</tr> +<tr> +<td><code><span class='Brace'>{</span><span class='Value'>::</span></code></td> +<td></td> +<td><code><span class='Function'>⊑</span></code></td> +</tr> +<tr> +<td><code><span class='Brace'>}</span><span class='Number'>.</span></code></td> +<td><code><span class='Number'>1</span><span class='Modifier2'>⊸</span><span class='Function'>↓</span></code></td> +<td><code><span class='Function'>↓</span></code></td> +</tr> +<tr> +<td><code><span class='Brace'>}</span><span class='Value'>:</span></code></td> +<td><code><span class='Number'>¯1</span><span class='Modifier2'>⊸</span><span class='Function'>↓</span></code></td> +<td></td> +</tr> +<tr> +<td><code><span class='Value'>e.</span></code></td> +<td><code><span class='Function'>><</span><span class='Modifier2'>∘</span><span class='Function'>∾∊</span><span class='Modifier'>¨</span><span class='Function'>⊢</span></code></td> +<td><code><span class='Function'>∊</span></code></td> +</tr> +<tr> +<td><code><span class='Function'>E.</span></code></td> +<td></td> +<td><code><span class='Function'>⍷</span></code></td> +</tr> +<tr> +<td><code><span class='Value'>i.</span></code></td> +<td><code><span class='Function'>↕</span></code></td> +<td><code><span class='Function'>⊐</span></code></td> +</tr> +<tr> +<td><code><span class='Value'>i:</span></code></td> +<td><code><span class='Brace'>{</span><span class='Value'>𝕩</span><span class='Function'>-</span><span class='Modifier'>˜</span><span class='Function'>↕</span><span class='Number'>1</span><span class='Function'>+</span><span class='Number'>2</span><span class='Function'>×</span><span class='Value'>𝕩</span><span class='Brace'>}</span></code></td> +<td><code><span class='Function'>≠</span><span class='Modifier2'>∘</span><span class='Function'>⊣-</span><span class='Number'>1</span><span class='Function'>+⌽</span><span class='Modifier2'>⊸</span><span class='Function'>⊐</span></code></td> +</tr> +<tr> +<td><code><span class='Function'>I.</span></code></td> +<td><code><span class='Function'>/</span></code></td> +<td><code><span class='Function'>⍋</span></code></td> +</tr> +<tr> +<td><code><span class='Function'>L.</span></code></td> +<td><code><span class='Function'>≡</span></code></td> +<td></td> +</tr> +</tbody> +</table> diff --git a/docs/doc/index.html b/docs/doc/index.html index 72e9568a..898d2793 100644 --- a/docs/doc/index.html +++ b/docs/doc/index.html @@ -40,6 +40,7 @@ <ul> <li><a href="glossary.html">Glossary</a></li> <li><a href="fromDyalog.html">BQN-Dyalog dictionary</a></li> +<li><a href="fromJ.html">BQN-J dictionary</a></li> </ul> <p>Speculation:</p> <ul> |
