*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/doc/fromDyalog.html).* # BQN–Dyalog APL dictionary A few tables to help users of Dyalog APL (or similar) get started quickly on BQN. Here we assume `⎕ML` is 1 for Dyalog. ## For reading 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 `⊆` | 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. | BQN | `¨` | `⌜` | `˝` | `⎉` | `⍟` | `˜` | `∘` | `○` | `⟜` | |--------|-----|------|-----|-----|-----|-----|-----|-----|-----| | Dyalog | `¨` | `∘.` | `⌿` | `⍤` | `⍣` | `⍨` | `⍤` | `⍥` | `∘` | In BQN `⎉` is Rank and `∘` is Atop. Dyalog's Atop (`⍤`) and Over (`⍥`) were added in version 18.0. ## For writing The tables below give approximate implementations of Dyalog primitives for the ones that aren't the same. First- and last-axis pairs are also mostly omitted. BQN just has the first-axis form, and you can get the last-axis form with `⎉1`.
Functions
Glyph Monadic Dyadic
*
⋆⁼
! Implement it yourself
Some complex exponential stuff, maybe
~ ¬ ¬∘∊/⊣
? Library?
¬∘∧
¬∘∨
, ∾⎉1
⥊˘
>
< +`⊸⊔
<⍟(0<≡)
{0=≡𝕩:⥊𝕩⋄∾⥊∇¨𝕩}
/⁼
∊/⊣
⊣∾∊˜¬⊸/⊢
/
Give up
Give up
To be decided
{+⟜(𝕨⊸×)´⌽𝕩}
{𝕨|1↓⌊∘÷`⌾⌽𝕨∾<𝕩}
+˝∘×⎉1‿∞⁼ I guess
N/A
Operators
Syntax Monadic Dyadic
¨˝
or `
¨ ¨
˜
f.g f˝∘g⎉1‿∞
∘.f f⌜
A∘g A⊸g
f∘B f⟜B
f∘g f⟜g
f⍤B f⎉B
f⍤g f∘g
f⍥g f○g
f@v f⌾(v⊸⊏)
f⍠B Uh
f⌸ ⍷⊸⊐⊔↕∘≠⍷⊸⊐⊸⊔
f⌺B
A⌶
f& Nothing yet