Module machine

Module machine 

Source

Structs§

Machine
NoMail
Every operation throws, so a bare evaluator is usable and a stray send is catchable rather than a panic.
Scope
Staging state saved across a region that may be abandoned.
Store
The store, in the CESK sense. Cells and the mailbox are effects and survive a catch; fresh and block are staging state and do not. Tasks may share effects but never staging state - one interleaved block is two half residuals.

Enums§

Cont
Fault
A type error is a throw the program may catch, not a second error system. Bug is uncatchable and means an invariant of this file was violated.
ForceMode
How leniently a value is coerced to syntax.
Mode
Reify
What surrounding staged form a completed reify scope slots into.
Step
Then
What to do with the expression a Cont::ForceCode produces.

Traits§

Mail
The floor’s only route to the world. It knows nothing about tasks beyond an address being an s-expression; the scheduler supplies this.

Functions§

drain
Where ANF comes from: one Let binding per reflected statement, in emission order, ending in tail.
throw