def Executable

bendvy-ecs-core@0.1.0.4 · ordinary_app_local_fields.bend:144

import bendvy-ecs-core@0.1.0.4/ordinary_app_local_fields.bend as OrdinaryAppLocalFields
import Base
import bendvy-ecs-core@0.1.0.4/ordinary_app_execution_recipe.bend as Exec
import bendvy-ecs-core@0.1.0.4/execution_context.bend as Ctx
import bendvy-ecs-core@0.1.0.4/system.bend as Sys
import bendvy-ecs-core@0.1.0.4/schedule_provision.bend as SP
import bendvy-ecs-core@0.1.0.4/captured_schedule_composition.bend as Choice
import bendvy-ecs-core@0.1.0.4/ordinary_app_records.bend as Pair
import bendvy-ecs-core@0.1.0.4/ordinary_app_observation_data.bend as DTO
import bendvy-ecs-core@0.1.0.4/world.bend as W
import bendvy-ecs-core@0.1.0.4/ordinary_app_registration_fields.bend as Fields
import bendvy-ecs-core@0.1.0.4/ordinary_resource_system.bend as P
import bendvy-ecs-core@0.1.0.4/transaction.bend as T

144# Advanced execution-enabled App type with prior owners plus Local invocation.
145# Uses prior observation unchanged and adds registration fields/plan/dispatch;
146# this does not expose Local to unrelated systems or reset it on failed execution.
147def Executable(~S:Data,~C:Type,~R:Type,~E:Data,~L:Type,~Args:Data,~Error:Data,~Out:Type,~Ops:Type -> Type,~declaration:P.Declaration<S,R,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) -> L -> Args -> H -> H & (L & (T.Outcome<Error> & Out)),~Previous:Type,~Rows:Data,~observe:W.World<S,C,R,E> -> W.World<S,C,R,E> & DTO.Observation<Rows>,~previousFold:Previous -> Previous & List<&2,Fields.Fields<S>>,~PriorError:Data,~priorPlan:Previous -> Previous & SP.Plan<S>,~priorDispatch:Previous -> Ctx.Context<W.World<S,C,R,E>> -> U32 -> Previous & Sys.Outcome<Ctx.Context<W.World<S,C,R,E>>,PriorError,Unit>,~priorProvide:W.World<S,C,R,E> -> W.World<S,C,R,E> & List<&2,SP.Requirement<S>>) -> Type:
148  Exec.Registered<S,W.World<S,C,R,E>,Previous & Invocation<S,C,R,E,L,Args,Error,Out,Ops,declaration,body>,Rows,observe,Pair.fold_pair(~S,~Previous,~Invocation<S,C,R,E,L,Args,Error,Out,Ops,declaration,body>,~previousFold,~execution_fields(~S,~C,~R,~E,~L,~Args,~Error,~Out,~Ops,~declaration,~body)),Choice.Choice<PriorError,ExecutionError<Error>>,Exec.plan_pair(~S,~Previous,~Invocation<S,C,R,E,L,Args,Error,Out,Ops,declaration,body>,~priorPlan,~execution_plan(~S,~C,~R,~E,~L,~Args,~Error,~Out,~Ops,~declaration,~body)),Exec.dispatch_pair(~S,~W.World<S,C,R,E>,~Previous,~Invocation<S,C,R,E,L,Args,Error,Out,Ops,declaration,body>,~PriorError,~ExecutionError<Error>,~previousFold,~priorDispatch,~execution_run(~S,~C,~R,~E,~L,~Args,~Error,~Out,~Ops,~declaration,~body)),Exec.provision_pair(~S,~W.World<S,C,R,E>,~priorProvide,~Exec.empty_provide(~S,~W.World<S,C,R,E>))>

Uses (26)

Used by (2)