diff options
| author | Marshall Lochbaum <mwlochbaum@gmail.com> | 2021-01-24 15:10:31 -0500 |
|---|---|---|
| committer | Marshall Lochbaum <mwlochbaum@gmail.com> | 2021-01-24 17:41:22 -0500 |
| commit | c6eaee8b153ac18d4faf6cf5daed8c531c5393cf (patch) | |
| tree | b31e1879ba7aa4acee4f0926cca82dd6ede3b4bd | |
| parent | 3239344dfe438346183bb90b2d85e5e106ea4ae5 (diff) | |
Add shift functions, Rank, and Classify to Dyalog-BQN dictionary
| -rw-r--r-- | doc/fromDyalog.md | 23 | ||||
| -rw-r--r-- | docs/doc/fromDyalog.html | 50 |
2 files changed, 51 insertions, 22 deletions
diff --git a/doc/fromDyalog.md b/doc/fromDyalog.md index 201d22f4..a3c7c7a2 100644 --- a/doc/fromDyalog.md +++ b/doc/fromDyalog.md @@ -36,15 +36,20 @@ Dyalog uses value types (array, function, and so on) to determine syntax while B Here are some closest equivalents in Dyalog APL for the BQN functions that don't use the same glyphs as APL. Correspondence can be approximate, and `⌽` is just used as a decorator to mean "reverse some things". -| BQN | `⋆` | `√` | `∧` | `∨` | `¬` | `≠` | `<` | `>` | `≢` | `⥊` | `∾` | `≍` | -|:-----:|:---:|:--------:|:-----:|:-----:|:-----:|:---:|:---:|:---:|:---:|:---:|:-----:|:------:| -| Monad | `*` | `*∘(÷2)` | `[⍋]` | `[⍒]` | `~` | `≢` | `⊂` | `↑` | `⍴` | `,` | `⊃,⌿` | `↑,⍥⊂` | -| Dyad | `*` | `*∘÷⍨` | `∧` | `∨` | `1+-` | `≠` | `<` | `>` | `≢` | `⍴` | `⍪` | `↑,⍥⊂` | - -| BQN | `↑` | `↓` | `↕` | `/` | `⍋` | `⍒` | `⊏` | `⊑` | `⊐` | `⊒` | `∊` | `⍷` | `⊔` | -|:-----:|:----:|:-------:|:----:|:---:|:---:|:-----:|:----:|:---:|:---:|:---:|:---:|:---:|:----------:| -| Monad | `,⍀` | `⌽,⌽⍀⌽` | `⍳` | `⍸` | `⍋` | `⍒` | `⊣⌿` | `⊃` | | `…` | `≠` | `∪` | `⌸` | -| Dyad | `↑` | `↓` | `,⌿` | `⌿` | `⍸` | `⌽⍸⌽` | `⌷` | `⊃` | `⍳` | `…` | `∊` | `⍷` | `⌸` or `⊆` | +| BQN | `⋆` | `√` | `∧` | `∨` | `¬` | `=` | `≠` | `<` | `>` | `≢` | `⥊` | +|:-----:|:---:|:--------:|:-----:|:-----:|:-----:|:-----:|:---:|:---:|:---:|:---:|:---:| +| Monad | `*` | `*∘(÷2)` | `[⍋]` | `[⍒]` | `~` | `≢⍤⍴` | `≢` | `⊂` | `↑` | `⍴` | `,` | +| Dyad | `*` | `*∘÷⍨` | `∧` | `∨` | `1+-` | `=` | `≠` | `<` | `>` | `≢` | `⍴` | + +| BQN | `∾` | `≍` | `↑` | `↓` | `↕` | `»` | `«` | +|:-----:|:-----:|:------:|:----:|:-------:|:----:|:------------:|:-------------:| +| Monad | `⊃,⌿` | `↑,⍥⊂` | `,⍀` | `⌽,⌽⍀⌽` | `⍳` | `≢↑(¯1-≢)↑⊢` | `-⍤≢↑(1+≢)↑⊢` | +| Dyad | `⍪` | `↑,⍥⊂` | `↑` | `↓` | `,⌿` | `≢⍤⊢↑⍪` | `-⍤≢⍤⊢↑⍪⍨` | + +| BQN | `/` | `⍋` | `⍒` | `⊏` | `⊑` | `⊐` | `⊒` | `∊` | `⍷` | `⊔` | +|:-----:|:---:|:---:|:-----:|:----:|:---:|:-----:|:---:|:---:|:---:|:----------:| +| Monad | `⍸` | `⍋` | `⍒` | `⊣⌿` | `⊃` | `∪⍳⊢` | `…` | `≠` | `∪` | `⌸` | +| Dyad | `⌿` | `⍸` | `⌽⍸⌽` | `⌷` | `⊃` | `⍳` | `…` | `∊` | `⍷` | `⌸` or `⊆` | Modifiers are a little harder. Many have equivalents in some cases, but Dyalog sometimes chooses different functionality based on whether the operand is an array. In BQN an array is always treated as a constant function. diff --git a/docs/doc/fromDyalog.html b/docs/doc/fromDyalog.html index d6a429b9..68e4758f 100644 --- a/docs/doc/fromDyalog.html +++ b/docs/doc/fromDyalog.html @@ -80,13 +80,12 @@ <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> @@ -97,13 +96,12 @@ <td align="center"><code><span class='Value'>[</span><span class='Function'>⍋</span><span class='Value'>]</span></code></td> <td align="center"><code><span class='Value'>[</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='Function'>≢</span><span class='Value'>⍤⍴</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></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><span class='Separator'>,</span><span class='Value'>⌿</span></code></td> -<td align="center"><code><span class='Function'>↑</span><span class='Separator'>,</span><span class='Value'>⍥⊂</span></code></td> </tr> <tr> <td align="center">Dyad</td> @@ -112,13 +110,12 @@ <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='Number'>1</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></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='Value'>⍴</span></code></td> -<td align="center"><code><span class='Value'>⍪</span></code></td> -<td align="center"><code><span class='Function'>↑</span><span class='Separator'>,</span><span class='Value'>⍥⊂</span></code></td> </tr> </tbody> </table> @@ -126,9 +123,42 @@ <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> +</tr> +</thead> +<tbody> +<tr> +<td align="center">Monad</td> +<td align="center"><code><span class='Value'>⊃</span><span class='Separator'>,</span><span class='Value'>⌿</span></code></td> +<td align="center"><code><span class='Function'>↑</span><span class='Separator'>,</span><span class='Value'>⍥⊂</span></code></td> +<td align="center"><code><span class='Separator'>,</span><span class='Value'>⍀</span></code></td> +<td align="center"><code><span class='Function'>⌽</span><span class='Separator'>,</span><span class='Function'>⌽</span><span class='Value'>⍀</span><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='Paren'>(</span><span class='Number'>¯1</span><span class='Function'>-≢</span><span class='Paren'>)</span><span class='Function'>↑⊢</span></code></td> +<td align="center"><code><span class='Function'>-</span><span class='Value'>⍤</span><span class='Function'>≢↑</span><span class='Paren'>(</span><span class='Number'>1</span><span class='Function'>+≢</span><span class='Paren'>)</span><span class='Function'>↑⊢</span></code></td> +</tr> +<tr> +<td align="center">Dyad</td> +<td align="center"><code><span class='Value'>⍪</span></code></td> +<td align="center"><code><span class='Function'>↑</span><span class='Separator'>,</span><span class='Value'>⍥⊂</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='Separator'>,</span><span class='Value'>⌿</span></code></td> +<td align="center"><code><span class='Function'>≢</span><span class='Value'>⍤</span><span class='Function'>⊢↑</span><span class='Value'>⍪</span></code></td> +<td align="center"><code><span class='Function'>-</span><span class='Value'>⍤</span><span class='Function'>≢</span><span class='Value'>⍤</span><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> @@ -144,15 +174,12 @@ <tbody> <tr> <td align="center">Monad</td> -<td align="center"><code><span class='Separator'>,</span><span class='Value'>⍀</span></code></td> -<td align="center"><code><span class='Function'>⌽</span><span class='Separator'>,</span><span class='Function'>⌽</span><span class='Value'>⍀</span><span class='Function'>⌽</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></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='Value'>⊃</span></code></td> -<td align="center"></td> +<td align="center"><code><span class='Value'>∪⍳</span><span class='Function'>⊢</span></code></td> <td align="center"><code><span class='Value'>…</span></code></td> <td align="center"><code><span class='Function'>≠</span></code></td> <td align="center"><code><span class='Value'>∪</span></code></td> @@ -160,9 +187,6 @@ </tr> <tr> <td align="center">Dyad</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='Separator'>,</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='Value'>⍸</span><span class='Function'>⌽</span></code></td> |
