def canonical_steps

bendvy-ecs-core@0.1.0.4 · captured_schedule.bend:13

import bendvy-ecs-core@0.1.0.4/captured_schedule.bend as CapturedSchedule
import Base
import bendvy-ecs-core@0.1.0.4/schedule.bend as Sch

13# Conditions belong to typed leaves; only the canonical zero placeholder is
14# accepted in the reused data-only plan. Arbitrary dispatcher slots are refused.
15def canonical_steps(steps:List<&2,Sch.Step>) -> Bool:
16  match steps:
17    case []:True{}
18    case Sch.System{_,slot} <> rest:Bool.and(U32.is_eq(slot,0),canonical_steps(rest))
19    case _ <> rest:canonical_steps(rest)

Uses (5)

Used by (2)