Expand description
The language-agnostic program representation and its evaluator.
Structs§
- Branch
- One arm of an
if.orselect.: a test (absent for the default arm) and the body to run when it holds. - Explicit
Def - An explicit definition: J’s
3 : '…',4 : '…'and{{ … }}, APL’s{…}and∇-defined functions. - Param
Spec - Program
- A compiled program: immutable, reusable, holds no data bindings.
Enums§
- Control
- A control-flow sentence. Every body is a block: a list of sentences whose value is the last one’s.
- Expr
- Scope
- Where an assignment puts its name. The two differ only inside an explicit definition, which is the only thing that has a local frame.
Constants§
- NILADIC
- The right-argument name a NILADIC APL definition carries. No sentence can write it, so the body cannot read the argument it never gets, and a definition wearing it is called by naming it rather than applying it.