def merge

bendvy-ecs-core@0.1.0.4 · ordinary_app_execution.bend:111

import bendvy-ecs-core@0.1.0.4/ordinary_app_execution.bend as OrdinaryAppExecution
import Base
import bendvy-ecs-core@0.1.0.4/execution_trace.bend as Trace
import bendvy-ecs-core@0.1.0.4/schedule.bend as Sch

111def merge(~Error:Data,observations:List<&2,Sch.Observation>,journal:List<&2,Trace.TraceEvent<Error>>) -> List<&2,Trace.TraceEvent<Error>>:
112  match observations journal:
113    case [], journal:journal
114    case Sch.Entered{name} <> rest, journal:Trace.PhaseEntered{name} <> merge(~Error,rest,journal)
115    case Sch.Skipped{id} <> rest, journal:Trace.SystemSkipped{id} <> merge(~Error,rest,journal)
116    case Sch.Applied{} <> rest, journal:merged_chunk(~Error,(remaining=>Trace.DeferredApplied{} <> merge(~Error,rest,remaining)),barrier_chunk(~Error,journal))
117    case Sch.Ran{_} <> rest, journal:merged_chunk(~Error,(remaining=>merge(~Error,rest,remaining)),ran_chunk(~Error,journal))

Uses (6)

Used by (1)