def write

bendvy-ecs-core@0.1.0.4 · ordinary_machine_operations.bend:30

import bendvy-ecs-core@0.1.0.4/ordinary_machine_operations.bend as OrdinaryMachineOperations
import Base
import bendvy-ecs-core@0.1.0.4/ordinary_machine_declaration.bend as OD
import bendvy-ecs-core@0.1.0.4/machine.bend as M
import bendvy-ecs-core@0.1.0.4/transaction.bend as Tx
import bendvy-ecs-core@0.1.0.4/world.bend as W
import bendvy-ecs-core@0.1.0.4/capabilities.bend as Cap

30# Declare current-state reads plus Set/Reset next-state requests for one
31# nominal slot. take/put/comparator are trusted schema setup. Requests are
32# journaled by set and later processed at explicit transition markers, with
33# existing exit/transition/enter failure boundaries. Does not grant raw resources.
34def write(~S:Data,~K:Data,~V:Data,~C:Type,~R:Type,~E:Data,~take:R -> R & M.Slot<S,K,V>,~put:R -> M.Slot<S,K,V> -> R,~same:V -> V -> Bool,~declaration:OD.Declaration<S,K,V,R,take>) -> Cap.ValueWrite<Tx.Tx<W.World<S,C,R,E>,E>,M.QueueInput<V>,M.CurrentView<S,K,V>>:
35  Cap.ValueWrite{get(~S,~K,~V,~C,~R,~E,~take),set(~S,~K,~V,~C,~R,~E,~take,~put,~same,~declaration)}

Uses (11)

Used by (2)