def run_app

bendvy-ecs-core@0.1.0.4 · ordinary_app_machine_handler.bend:58

import bendvy-ecs-core@0.1.0.4/ordinary_app_machine_handler.bend as OrdinaryAppMachineHandler
import Base
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/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/ordinary_machine_handler_bundle.bend as Operation

58# Normal App executes ordinary marker preflight/barrier/phase machinery. Recovering
59# passes through its retained result without rerun. Returned marker keeps actual
60# owners; exit/transition failure leaves retryable pending work, while enter failure
61# retains committed current/publication. No schedule-wide transaction is added.
62def run_app(~S:Data,~K:Data,~V:Data,~Q:Data,~C:Type,~R:Type,~E:Data,~runner:W.World<S,C,R,E> -> H.Invocation<V> -> Sys.Outcome<W.World<S,C,R,E>,String,Unit>,~take:W.World<S,C,R,E> -> W.World<S,C,R,E> & M.Slot<S,K,V>,~put:W.World<S,C,R,E> -> M.Slot<S,K,V> -> W.World<S,C,R,E>,~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:Application<S,K,V,Q,C,R,E,runner,Extra>) -> RunResult<S,K,V,Q,C,R,E,runner,Extra>:
63  match app:
64    case Recovering{result,declaration,extra,debug}:RunResult{result,declaration,extra,debug}
65    case Application{world,bundle,+declaration,extra,debug}:RunResult{Operation.run(~S,~K,~V,~Q,~C,~R,~E,~runner,~take,~put,~publish,~same,~requirement_same,~has,~frame,declaration,bundle,world),declaration,extra,debug}

Uses (12)

Used by (0)

No other definition uses this definition.