def rd.run

bend-kit-runner@0.13.0.1 · runner.bend:737

import bend-kit-runner@0.13.0.1/runner.bend as Runner
import Base
import bend-kit-bytes@0.3.3.0/bytes.bend as Bytes
import bend-kit-scheduler@0.4.1.0/queue.bend as Q

737def rd.run(~A: Data, ~pdec: Bytes.Bytes -> Maybe<&2, A>, +fuel: Nat, more: Bool) -> Dec(List<&2, Q.Ticket<A>>):
738  match fuel more:
739    case 0n b:
740      Dec.fail(List<&2, Q.Ticket<A>>)
741    case 1n+f False{}:
742      Dec.pure(List<&2, Q.Ticket<A>>, Nil{})
743    case 1n+f True{}:
744      do Dec<List<&2, Q.Ticket<A>>>:
745        t : Q.Ticket<A> <- rd.ticket(~A, ~pdec)
746        m : Bool <- rd.flag()
747        rest : List<&2, Q.Ticket<A>> <- rd.run(~A, ~pdec, f, m)
748        return Con{t, rest}

Uses (12)

Used by (1)