What only becomes known inside the drain - a value another reducer just set, the map in play - no longer has to be faked into the action, so a verb that reads several systems while it changes one is a reducer instead of an act handed its states. A second state to write is still refused, and the message says the way out. examples/actions/reads.ludic; reseeded. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
8 lines
303 B
Text
8 lines
303 B
Text
# 0.R: a reducer writes its own state and may read others; a second state to write is refused
|
|
program ReducerTwoStates {
|
|
state Pack { n: int = 0 }
|
|
state Wallet { cash: int = 0 }
|
|
action Buy { cost: int }
|
|
reducer Pack on Buy(p: mut Pack, w: mut Wallet, a: Buy) { p.n += 1 }
|
|
entry { print(1) }
|
|
}
|