Skip to content

Frequently Asked Questions

Can I use nested arrays?

No. MARPLE implements flat arrays only. If arrays-of-arrays are added in the future, they'll follow Iverson's Dictionary boxing model, not APL2 nesting.

Where are tradfns?

MARPLE doesn't have traditional function definitions (-headers, line numbers, ). Use dfns ({⍺+⍵}) instead. See Direct Definition for the rationale.

How do I enter APL characters?

Use backtick sequences in the REPL: `r for , `i for , etc. See the Glyph Input reference.

Is MARPLE compatible with Dyalog/GNU APL?

Mostly, for first-generation features. Scalar functions, structural functions, reduce, scan, and bracket indexing work the same way. The main incompatibilities are: no nested arrays, no tradfns, no control structures. See How MARPLE Differs.

Can I use MARPLE on a Raspberry Pi Pico?

That's a design goal. The interpreter is designed to run under CircuitPython with ulab. See The Python Connection for current status.

How fast is MARPLE?

With NumPy, element-wise operations on large arrays are about 73× faster than pure Python. The interpreter itself is tree-walking Python, so it won't match compiled APLs like Dyalog for complex workloads. It's designed for correctness and portability, not raw speed.