QueueLaws.complete.reference: def of bend-kit-scheduler@0.4.1.0
Import: import bend-kit-scheduler@0.4.1.0/queue_laws.bend as QueueLaws
Lines 32-37 of bend-kit-scheduler@0.4.1.0/queue_laws.bend: https://jend.leeeet.dev/read.txt?path=bend-kit-scheduler@0.4.1.0/queue_laws.bend&start_line=32&end_line=37
import Base
import bend-kit-scheduler@0.4.1.0/queue.bend as Q
# Reference semantics are deliberately simple; the live transition takes one
# pass and its equivalence is proved universally, including duplicate IDs.
def complete.reference(-A: Data, +i: Nat, s: Q.State) -> Q.State & Maybe<&2, Q.Ticket>:
match s:
case Q.State{n, h, +r}:
(Q.State{n, h, Q.remove.list(A, r, i)}, Q.find.list(A, r, i))
Uses (8):
https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Maybe
https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat
https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Pair
https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Sigma
https://jend.leeeet.dev/definition.txt?path=bend-kit-scheduler@0.4.1.0/queue.bend&name=State
https://jend.leeeet.dev/definition.txt?path=bend-kit-scheduler@0.4.1.0/queue.bend&name=Ticket
https://jend.leeeet.dev/definition.txt?path=bend-kit-scheduler@0.4.1.0/queue.bend&name=find.list
https://jend.leeeet.dev/definition.txt?path=bend-kit-scheduler@0.4.1.0/queue.bend&name=remove.list