Language Specification: Design

Design decisions and sketches for the unimplemented parts of the system. They are not open work and carry no issue header; the open work is in spec/todo/. The numbered ones moved from the main spec README and keep their old section numbers:

DocumentTopic
io-effects§5 — I/O with effects: Effect, operations, runners
content-addressable-vm§6 — content-addressable VM, hashing
object-identity§7 — object identity, custom dictionaries, Map
mutability§8 — mutable objects and ownership tracking
serialization§9 — EDAG as data, CBOR, bytecode as VM-internal
vm-command-formatNPN command format of the VM
design-principlesdesign principles of the "ideal" FJS 0.*
function-frameNaNVM function objects: frames and captured values, VM-internal
call-like-instructionsVM-internal bytecode for calls