def Executable
bendvy-ecs-core@0.1.0.4 · ordinary_app_service_registration.bend:94
import bendvy-ecs-core@0.1.0.4/ordinary_app_service_registration.bend as OrdinaryAppServiceRegistration
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/captured_schedule_composition.bend as Choice
import bendvy-ecs-core@0.1.0.4/ordinary_app_recipe.bend as Tree
import bendvy-ecs-core@0.1.0.4/ordinary_app_records.bend as Leaf
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/schedule_provision.bend as SP
import bendvy-ecs-core@0.1.0.4/ordinary_service_declaration.bend as D
import bendvy-ecs-core@0.1.0.4/ordinary_app_registration_fields.bend as Records
import bendvy-ecs-core@0.1.0.4/ordinary_app_observation_data.bend as DTO
94
95
96def Executable(~S:Data,~C:Type,~R:Type,~E:Data,~Payload:Type,~Rest:Type,~take:R -> Rest & D.Slot<Payload>,~put:Rest -> D.Slot<Payload> -> R,~call:Payload -> Payload,~declaration:D.Declaration<S,R,Payload,Rest,take,put,call>,~scan:W.World<S,C,R,E> -> W.World<S,C,R,E> & List<&2,D.Status<S>>,~Owners:Type,~Rows:Data,~prior:W.World<S,C,R,E> -> W.World<S,C,R,E> & DTO.Observation<Rows>,~fold:Owners -> Owners & List<&2,Records.Fields<S>>,~PriorError:Data,~priorPlan:Owners -> Owners & SP.Plan<S>,~priorDispatch:Owners -> Ctx.Context<W.World<S,C,R,E>> -> U32 -> Owners & 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:
97 Exec.Registered<S,W.World<S,C,R,E>,Owners & Owner<S,C,R,E,Payload,Rest,take,put,call,declaration,scan>,DTO.Product<Rows,View<S>>,Tree.observe_pair(~W.World<S,C,R,E>,~Rows,~View<S>,~prior,~observe(~S,~C,~R,~E,~Payload,~Rest,~take,~put,~call,~declaration,~scan)),Leaf.fold_pair(~S,~Owners,~Owner<S,C,R,E,Payload,Rest,take,put,call,declaration,scan>,~fold,~fields(~S,~C,~R,~E,~Payload,~Rest,~take,~put,~call,~declaration,~scan)),Choice.Choice<PriorError,Unit>,Exec.plan_pair(~S,~Owners,~Owner<S,C,R,E,Payload,Rest,take,put,call,declaration,scan>,~priorPlan,~execution_plan(~S,~C,~R,~E,~Payload,~Rest,~take,~put,~call,~declaration,~scan)),Exec.dispatch_pair(~S,~W.World<S,C,R,E>,~Owners,~Owner<S,C,R,E,Payload,Rest,take,put,call,declaration,scan>,~PriorError,~Unit,~fold,~priorDispatch,~execution_run(~S,~C,~R,~E,~Payload,~Rest,~take,~put,~call,~declaration,~scan)),Exec.provision_pair(~S,~W.World<S,C,R,E>,~priorProvide,~D.provision(~S,~C,~R,~E,~scan))>