def pop

bend-lawful-stdlib@0.1.0.0 · src/queue.bend:40

import bend-lawful-stdlib@0.1.0.0/src/queue.bend as Queue
import Base
import bend-lawful-stdlib@0.1.0.0/src/list.bend as List

40def pop(-A: Data, q: Queue<A>) -> List.Step<&1, A, Queue<A>>:
41  match q:
42    case Queue{Nil{}, r}:
43      pop.rot(A, List.reverse(&2, A, r))
44    case Queue{h <> t, r}:
45      List.Next{h, Queue{t, r}}

Uses (5)

Used by (1)