aboutsummaryrefslogtreecommitdiffstats
path: root/docs/design/001-operation-semantics.md
diff options
context:
space:
mode:
authoreunhhu <[email protected]>2026-10-18 20:54:10 +0100
committereunhhu <[email protected]>2026-10-18 20:54:10 +0100
commitda0d7514b058f1baa99a8bcc8f9e23b43cac12de (patch)
tree688106ea656946bd74f36259c2dd2316b9a429d8 /docs/design/001-operation-semantics.md
parent936c08e3424c606855051ee86f25a7df0f162c62 (diff)
downloadpure-da0d7514b058f1baa99a8bcc8f9e23b43cac12de.tar.gz
pure-da0d7514b058f1baa99a8bcc8f9e23b43cac12de.zip
Module format v7, 027's 4d: every input a message: a module's inputs are messages, outputs and arguments (kinds 1 to 3), a message bound to what makes it (PureBinding: a key's press or its release, a text input, a timer, a frame, a pointing at a table), each binding's fields fixed (none; one text; one number, dt; one u32, the item's position, the table its view), one frame input at most; a handler's event its input's number; no DT or TEXT_INPUT (97 opcodes now 95, FIELD reads dt and the text), pure_app_input, frame, tick, text and point, pure_module_position, PureEdge or an app's ticks: every event is pure_app_message, saved after it unless deferred; pure-run sends each command's message to the input bound so (a release or a frame no input takes still an event, clearing the fault, so the workbench parity holds) and defers a stored app's saves past frames as before; pure-serve posts a press with its key's release, refuses timers, frames and pointings (no_input) and ticks timers as messages; holes closed: the tier found a handler's input by the old numbering, reading a message's number field as another input's (aup's numbers caught it), and serve's replies_borrow did too; module-probe presses as messages; unit tests: the test modules' builder (expand) writes the old shapes as bound messages, pointing over a pointing input and its table, stored frames deferred as a host defers them, a press's handler refused a FIELD; counts: b35 against b34 with batches BFS +0.03%, the rest within 0.001%, without batches BFS +0.12%, join +0.01%; the bank's queries (s34 on the 4c aup's module, s35 on 4d's, six each in turns) field -0.23%, found -0.14%, large -0.12%, in_credit +0.11%, the rest within 0.06%; 008 and 027
Diffstat (limited to 'docs/design/001-operation-semantics.md')
0 files changed, 0 insertions, 0 deletions