WASM
Editor ✓ saved
15
running…
Output
Ready — type an expression and press Execute
Session
15
APL Session — workspace state persists between evaluations
Active 0 variables
0 expressions
f⍵
⍺f⍵

⌨ Keyboard Shortcuts

Execution

Execute code + Enter

File Management

Save to file + S

Editing

Undo + Z
Redo + + Z
Find + F
Find & Replace + + F
Go to lineAlt + G

Session

Navigate history /
Clear session + L

General

Show shortcuts?

APL Symbol Input — Standard Dyalog Layout

Prefix modeType ` then a key
Literal backtick` then Space
Tab completionType 2 ASCII chars + Tab → APL symbol (269 pairs)
Number Row:
1 ¨2 ¯3 <45 =6 7 >890- ×= ÷
QWERTY Rows:
q ?wert ~ yuiop * asdf _g hjk 'l zxcvb nm |
Shifted:
ETIOP FGJKL ZXQN ¤M :"_ !~ #$%^& *+()
Punctuation:
[];' \|,. /<>? {}`

⍋ APL Run

A dual-dialect APL interpreter — pure Rust compiled to WebAssembly

The Interpreter

Written entirely from scratch in Rust — no dependencies on any existing APL implementation. Supports two dialects: GNU APL (default) and Dyalog APL. Switch with ⎕DIALECT←'dyalog'.

Dialect Compatibility

FeatureGNU APLDyalog
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 and 137 Dyalog-specific tests:

📊 View GNU APL Test Suite Coverage Report

Data Storage

All files, settings, and session history are stored in your browser's localStorage with persistent storage requested.

Persistence Checking…
Storage used
Storage quota

Back up your work regularly. Use the Export function in the file tree to download your files. Browser storage can be cleared by the user or the browser at any time.

Technology