def run
import bendvy-ecs-core@0.1.0.4/ordinary_app_machine_handler_field.bend as OrdinaryAppMachineHandlerFieldimport Base
import bendvy-ecs-core@0.1.0.4/world.bend as W
import bendvy-ecs-core@0.1.0.4/transaction.bend as T
import bendvy-ecs-core@0.1.0.4/machine.bend as M
import bendvy-ecs-core@0.1.0.4/machine_handlers.bend as H
import bendvy-ecs-core@0.1.0.4/machine_world.bend as MachineWorld
import bendvy-ecs-core@0.1.0.4/ordinary_machine_declaration.bend as Machine
import bendvy-ecs-core@0.1.0.4/ordinary_machine_schedule.bend as Ordinary
import bendvy-ecs-core@0.1.0.4/ordinary_app_machine_handler.bend as App
import bendvy-ecs-core@0.1.0.4/ordinary_app_resource_field_declaration.bend as D
import bendvy-ecs-core@0.1.0.4/ordinary_resource_field_system.bend as Field
import bendvy-ecs-core@0.1.0.4/ordinary_machine_handler_bundle_context.bend as Operation
import bendvy-ecs-core@0.1.0.4/machine_handler_trace.bend as TraceRun
import bendvy-ecs-core@0.1.0.4/execution_trace.bend as Trace
45def run(~S:Data,~K:Data,~V:Data,~Q:Data,~C:Type,~R:Type,~E:Data,~Ops:Type -> Type,~Value:Data,~declaration:D.Declaration<S,C,R,E,Ops,Value>,~body:@-H:Type -> @-caps:Ops(H) -> H.Invocation<V> -> H -> H & (T.Outcome<String> & Unit),~take:R -> R & M.Slot<S,K,V>,~put:R -> M.Slot<S,K,V> -> R,~machine:Machine.Declaration<S,K,V,R,take>,~publish:W.World<S,C,R,E> -> M.Transition<V> -> W.World<S,C,R,E>,~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>,~Extra:Type,app:App.Application<S,K,V,Q,C,R,E,Field.runner(~S,~C,~R,~E,~Ops,~H.Invocation<V>,~String,~Unit,~D.ordinary(~S,~C,~R,~E,~Ops,~Value,declaration),~body),Extra>) -> App.RunResult<S,K,V,Q,C,R,E,Field.runner(~S,~C,~R,~E,~Ops,~H.Invocation<V>,~String,~Unit,~D.ordinary(~S,~C,~R,~E,~Ops,~Value,declaration),~body),Extra> & Trace.Batch<String>:
46 match app:
47 case App.Recovering{result,declaration,extra,debug}:(App.RunResult{result,declaration,extra,debug},Trace.Disabled{})
48 case App.Application{world,bundle,Ordinary.Declaration{+name},extra,+debug}:returned(~S,~K,~V,~Q,~C,~R,~E,~Field.runner(~S,~C,~R,~E,~Ops,~H.Invocation<V>,~String,~Unit,~D.ordinary(~S,~C,~R,~E,~Ops,~Value,declaration),~body),~Extra,Ordinary.Declaration{name},extra,debug,TraceRun.captured(~S,~K,~V,~Q,~C,~R,~E,~Field.runner(~S,~C,~R,~E,~Ops,~H.Invocation<V>,~String,~Unit,~D.ordinary(~S,~C,~R,~E,~Ops,~Value,declaration),~body),name,Operation.run(~S,~K,~V,~Q,~C,~R,~E,~Field.runner(~S,~C,~R,~E,~Ops,~H.Invocation<V>,~String,~Unit,~D.ordinary(~S,~C,~R,~E,~Ops,~Value,declaration),~body),~Field.runner_observed(~S,~C,~R,~E,~Ops,~H.Invocation<V>,~String,~Unit,~D.ordinary(~S,~C,~R,~E,~Ops,~Value,declaration),~body),~Machine.name(~S,~K,~V,~R,~take,machine),~MachineWorld.take(~S,~K,~V,~C,~R,~E,~take),~MachineWorld.put(~S,~K,~V,~C,~R,~E,~put),~publish,~same,~requirement_same,~has,~frame,Ordinary.Declaration{name},bundle,world,state(debug))))
Uses (26)
Used by (0)
No other definition uses this definition.