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.

Terminology

Array model

BQN uses the based array model, so that a Dyalog's simple scalar corresponds to many BQN values: an atom, its enclose, and so on.

Dyalog BQN
Simple scalar Atom
Scalar Unit
Vector List
Matrix Table

BQN shares the terms "cell" and "major cell" with Dyalog, and uses "element" (which may mean different things to different Dyalog users) not for a 0-cell but for the value it contains.

Roles

Dyalog uses value types (array, function, and so on) to determine syntax while BQN uses a separate concept called syntactic roles. See context-free grammer.

Dyalog type BQN role
Array Subject
Function Function
Monadic operator 1-modifier
Dyadic operator 2-modifier
Niladic function go away

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˝g1
.f f
Ag Ag
fB fB
fg fg
f⍤B fB
f⍤g fg
f⍥g fg
f@v f(v)
f⍠B Uh
f⌸ ⊐⊔↕
f⌺B
A
f& Nothing yet