Skip to main content

Module ir

Module ir 

Source
Expand description

The language-agnostic program representation and its evaluator.

Structs§

Branch
One arm of an if. or select.: a test (absent for the default arm) and the body to run when it holds.
ExplicitDef
An explicit definition: J’s 3 : '…', 4 : '…' and {{ … }}, APL’s {…} and -defined functions.
ParamSpec
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.