def complete.reference

bend-kit-scheduler@0.4.1.0 · queue_laws.bend:32

import bend-kit-scheduler@0.4.1.0/queue_laws.bend as QueueLaws
import Base
import bend-kit-scheduler@0.4.1.0/queue.bend as Q

32# Reference semantics are deliberately simple; the live transition takes one
33# pass and its equivalence is proved universally, including duplicate IDs.
34def complete.reference(-A: Data, +i: Nat, s: Q.State<A>) -> Q.State<A> & Maybe<&2, Q.Ticket<A>>:
35  match s:
36    case Q.State{n, h, +r}:
37      (Q.State{n, h, Q.remove.list(A, r, i)}, Q.find.list(A, r, i))

Uses (8)

Used by (9)