An operation of the DSL together with the answer it got: one entry of the free-monad trace with its result. The journal records these, so a replay reads the answer instead of asking again.
Constructors
MkAnsweredansweredOp :: opanswer :: ans
:: a typeCtrl KGHC 10.0.0.20260917 · lts/ghc-10.0.x · fc4e598 · 2026-10-11
Modulevortex-journal-0.1.0GHC2024
The resource reading of a DSL's operations: what each answered operation consumes and produces. A shell plugs into the journal by giving a Net for its own operation type; everything else (folding a log, deciding a command, detecting conflicts, snapshots, migration, invariants) is derived from it.
An operation of the DSL together with the answer it got: one entry of the free-monad trace with its result. The journal records these, so a replay reads the answer instead of asking again.
MkAnsweredansweredOp :: opanswer :: ansOne step of a command: an operation the journal answers itself from the state, or an operation whose answer is already known because the world gave it (an outcome a reactor or an executor reports).
What a block submits: its calls, decided together or not at all.
The net a shell supplies for its operation type: the initial marking, each answered operation's consumed and produced tokens, the oracle for the operations the journal answers itself, and which operations are intents and outcomes of effects on the world, with the intent tokens told apart.
The tokens an operation consumes.
The tokens an operation produces.
An operation is enabled where the marking holds what it consumes.
The tokens an operation lacks to be enabled.
Fire an operation: consume its pre and produce its post. Total, with the difference truncated at zero; it means a step of the net only where the operation is enabled, and the journal only ever records such steps.
Every token an operation consumes or produces.
Two operations are independent when they touch no token in common, so either order of firing them gives the same marking.
The intent token an outcome settles, or none for any other operation.
The intent token an intent operation announces, or none.
The intent tokens of a marking.