MARPLE for J Users¶
If you know J, MARPLE will feel familiar — both languages descend from Iverson's Dictionary of APL and share the leading-axis philosophy. But MARPLE uses APL glyphs rather than ASCII spellings.
What's the same (conceptually)¶
- Rank operator — J's
"is MARPLE's⍤. Same semantics: cell decomposition, frame agreement, scalar extension at the frame level. - Leading-axis theory — From (
⌷) selects major cells, just as{does in J. Everything defaults to the first axis; rank generalises to any axis. - No nested arrays — MARPLE is flat, like J's boxed-but-not-nested model (though MARPLE doesn't yet have boxing).
- Direct definition — MARPLE's dfns (
{⍺+⍵}) correspond to J's explicit definitions.⍵isy.,⍺isx.. - Flat arrays with cells and frames — the conceptual model is identical.
Key differences¶
| J | MARPLE | Notes |
|---|---|---|
+/ y |
+/ Y |
Reduce — same semantics |
x + y |
X + Y |
Scalar functions — same |
i. 5 |
⍳ 5 |
Iota — J is 0-origin by default |
5 3 $ i.15 |
5 3 ⍴ ⍳15 |
Reshape |
f"1 y |
(f⍤1) Y |
Rank operator |
{ |
⌷ |
From / indexing |
3 : 'x+y' |
{⍺+⍵} |
Explicit function definition |
Fork: (+/ % #) |
{(+/⍵)÷⍴⍵} |
Tacit vs dfn |