def runner_observed

bendvy-ecs-core@0.1.0.4 · ordinary_resource_field_system.bend:107

import bendvy-ecs-core@0.1.0.4/ordinary_resource_field_system.bend as OrdinaryResourceFieldSystem
import Base
import bendvy-ecs-core@0.1.0.4/trace_facts.bend as TraceFacts
import bendvy-ecs-core@0.1.0.4/ordinary_resource_system.bend as Whole
import bendvy-ecs-core@0.1.0.4/world.bend as W
import bendvy-ecs-core@0.1.0.4/system.bend as Sys
import bendvy-ecs-core@0.1.0.4/transaction.bend as T
import bendvy-ecs-core@0.1.0.4/capabilities.bend as Cap

107# Trace-aware counterpart of runner with supplied/returned fact state. Same caps,
108# transaction decision and output disposal; observation adds no resource authority
109# and does not make attempted writes committed.
110def runner_observed(~S:Data,~C:Type,~R:Type,~E:Data,~Ops:Type -> Type,~Args:Type,~Error:Data,~Out:Type,~declaration:Declaration<S,T.Tx<W.World<S,C,R,E>,E>,Ops(T.Tx<W.World<S,C,R,E>,E>)>,~body:@-H:Type -> @-caps:Ops(H) -> Args -> H -> H & (T.Outcome<Error> & Out),trace:TraceFacts.State,world:W.World<S,C,R,E>,args:Args) -> Sys.Outcome<W.World<S,C,R,E>,Error,Out> & TraceFacts.State:
111  Whole.finished_observed(~S,~C,~R,~E,~Error,~Out,Cap.invoke_owned(~Ops,~Args,~(T.Outcome<Error> & Out),~body,~T.Tx<W.World<S,C,R,E>,E>,~grant(~S,~T.Tx<W.World<S,C,R,E>,E>,~Ops(T.Tx<W.World<S,C,R,E>,E>),declaration),args,T.begin_with_trace(~W.World<S,C,R,E>,~E,world,trace)))

Uses (11)

Used by (4)