aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorMarshall Lochbaum <mwlochbaum@gmail.com>2021-01-24 15:10:31 -0500
committerMarshall Lochbaum <mwlochbaum@gmail.com>2021-01-24 17:41:22 -0500
commitc6eaee8b153ac18d4faf6cf5daed8c531c5393cf (patch)
treeb31e1879ba7aa4acee4f0926cca82dd6ede3b4bd /doc
parent3239344dfe438346183bb90b2d85e5e106ea4ae5 (diff)
Add shift functions, Rank, and Classify to Dyalog-BQN dictionary
Diffstat (limited to 'doc')
-rw-r--r--doc/fromDyalog.md23
1 files changed, 14 insertions, 9 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.