Expand description
Propagator networks for monotonic computation with lattice-valued cells. Propagator networks for accumulative computation with algebraic cells.
A propagator is a computational model where:
- Cells hold semigroup values that accumulate via
combine(one-way updates: never replace, only merge) - Propagators are functions that read from cells and write to cells
- When a cell’s value changes, propagators that depend on it are scheduled
- The system runs until reaching a fixed point (no more changes)
For lattices (ordered semigroups), accumulation means monotonic growth. For general semigroups, it means one-way combination (e.g., string concatenation, gradient accumulation).
This builds on the lvar foundation, extending
individual accumulative cells to networks of interconnected
computations.
§Conceptual model
Cell<A> Cell<B>
│ │
└──┬───┘
↓
Propagator
↓
Cell<C>Arrows show data flow: the propagator reads from source cells A and B, then writes to target cell C. When cells A or B change, the propagator runs and may update cell C. Multiple propagators can write to the same cell (values merge via the semigroup operation).
§Status
This module is under active development. Core types and traits are currently defined.
Structs§
- Cell
- A cell holding a semigroup value of type
S. - CellId
- A typed identifier for a cell holding values of type
S. - HomProp
- Generic propagator that applies a monoid homomorphism.
- Network
- A propagator network containing cells with heterogeneous semigroup types.
Traits§
- Propagator
- A propagator that performs accumulative computation on a network.