def barrier

bendvy-ecs-core@0.1.0.4 · ordinary_machine_initialization_marker.bend:174

import bendvy-ecs-core@0.1.0.4/ordinary_machine_initialization_marker.bend as OrdinaryMachineInitializationMarker
import Base
import bendvy-ecs-core@0.1.0.4/ordinary_machine_initialization.bend as Init
import bendvy-ecs-core@0.1.0.4/ordinary_machine_handler_bundle_context.bend as Operation
import bendvy-ecs-core@0.1.0.4/trace_facts.bend as Facts
import bendvy-ecs-core@0.1.0.4/machine_handlers.bend as H
import bendvy-ecs-core@0.1.0.4/world.bend as W
import bendvy-ecs-core@0.1.0.4/system.bend as Sys

174def barrier(~S:Data,~K:Data,~V:Data,~R:Type,~take:R -> R & Init.State<S,K,V>,~put:R -> Init.State<S,K,V> -> R,~C:Type,~E:Data,~Q:Data,~runner:W.World<S,C,R,E> -> H.Invocation<V> -> Sys.Outcome<W.World<S,C,R,E>,String,Unit>,~observed:Facts.State -> W.World<S,C,R,E> -> H.Invocation<V> -> Sys.Outcome<W.World<S,C,R,E>,String,Unit> & Facts.State,~name:String,~same:V -> V -> Bool,~requirement_same:Q -> Q -> Bool,~has:W.World<S,C,R,E> -> Q -> W.World<S,C,R,E> & Bool,~frame:W.World<S,C,R,E> -> W.World<S,C,R,E>,owners:Owners<S,K,V,Q,C,R,E,runner>,world:W.World<S,C,R,E>) -> Owners<S,K,V,Q,C,R,E,runner> & W.World<S,C,R,E>:
175  match owners:
176    case Owners{ordinary,reader,through}:barrier_returned(~S,~K,~V,~R,~take,~put,~C,~E,~Q,~runner,~observed,~name,~same,~requirement_same,~has,~frame,reader,through,Operation.barrier(~S,~K,~V,~Q,~C,~R,~E,~runner,ordinary,world))

Uses (12)

Used by (1)