Module propagator

Module propagator 

Source
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.