def reset_taken

bendvy-ecs-core@0.1.0.4 · machine.bend:120

import bendvy-ecs-core@0.1.0.4/machine.bend as Machine
import Base
import bendvy-ecs-core@0.1.0.4/deferred_command.bend as Deferred
import bendvy-ecs-core@0.1.0.4/trace_facts.bend as TraceFacts
import transaction.bend as Tx

120def reset_taken(~S: Data,~M: Data,~V: Data,~W: Type,~E: Data,
121  ~put: W -> Slot<S,M,V> -> W,
122  pair: W & Slot<S,M,V>,undo: List<&1,(W -> W)>,commands:List<&1,Deferred.Command<W>>,events: List<&2,E>,trace:TraceFacts.State) -> Tx.Tx<W,E>:
123  match pair:
124    case (world,+old):
125      Tx.Tx{put(world,reset(~S,~M,~V,old)),(world => put(world,old)) <> undo,commands,events,trace}

Uses (8)

Used by (1)