Before you start · 3 of 3

The code that changes the state

The state changes in exactly 38 places in the code — 31 small functions — and nowhere else; the machine's own tests check it. Each step that follows is one call of one of them, and the first time you meet a function you will see it.

  • appendEmissions
  • beginWinding
  • cellsRegion
  • closeCell
  • collectDeterministicSlot
  • consumeCausalRequest
  • countCellEffect
  • defineCharter
  • ensureClew
  • ensureRendezvous
  • indexCausalRequest
  • latchRendezvousProjection
  • latchRendezvousScope
  • markSettling
  • nextIntentionUid
  • openCell
  • queueDelta
  • recordCellAssessment
  • recordCellResult
  • refuseWinding
  • registerDescriptorDefinition
  • registerKnotDefinition
  • resetDeterministicClew
  • resetSemanticClew
  • resolveDischarge
  • storeSlotDelta
  • sweepNextTuple
  • takeNextTuple
  • trackDischarge
  • windIntegration
  • windLocalIntegration
38 points in 31 functions — the only places where the state changes. Lit: the 14 functions this fragment calls.