✅ Dialect Compatibility

Feature support across Dyalog APL and GNU APL modes

APL Run defaults to Dyalog mode (⎕DIALECT←'dyalog'). Switch to GNU APL with ⎕DIALECT←'gnu'. Both dialects share core primitives; Dyalog mode adds modern operators and control structures.

Feature GNU APL Dyalog
Core Primitives
Scalar fns + - × ÷ * ⍟ | ⌈ ⌊ ! ○
Structural ⍴ ⍉ , ⍪ ⌽ ⊖ ↑ ↓ ⊂ ⊃ ⊆
Search ⍳ ⍸ ∊ ⍷ ∪ ∩ ⍋ ⍒ ≡ ≢
Logic = ≠ < > ≤ ≥ ∨ ∧ ⍱ ⍲ ~
Math ⊥ ⊤ ⌹ ? !
Operators
Core / \ ⌿ ⍀ ¨ ⍨ ⍣ ∘ .
Rank
Over
At @
Key
Stencil
Variant
Control Flow
Dfns {⍺ ⍵}
Tradfns
Guards cond: expr
:If :ElseIf :Else :EndIf
:For :In :EndFor
:While :EndWhile
:Repeat :Until
:Select :Case :EndSelect
:Leave :Continue
System Functions
⎕IO ⎕TS ⎕UCS ⎕CT ⎕PP ⎕PW
⎕JSON ⎕CSV ⎕XML
⎕NS ⎕NC ⎕NL ⎕CLASS
⎕NGET ⎕NPUT ⎕NEXISTS ⎕MKDIR
⎕C ⎕DT ⎕DL ⎕VFI ⎕SIGNAL
⎕TRAP ⎕DMX

Test Coverage

Verified against the official GNU APL test suite (1780 assertions) and 137 Dyalog-specific tests.

📊 View GNU APL Test Coverage Report