def read.n

bend-kit-redis@0.3.0.0 · redis.bend:812

import bend-kit-redis@0.3.0.0/redis.bend as Redis
import Base

812# n more replies onto the reversed list in st.
813def read.n(n: Nat, st: Result<&1, &1, Failure, Conn & List<&1, Val>>) -> IO(Result<&1, &1, Failure, Conn & List<&1, Val>>):
814  match n:
815    case 0n:
816      match st:
817        case Fail{e}:
818          IO.pure(Result<&1, &1, Failure, Conn & List<&1, Val>>, Fail{e})
819        case Done{(c, xs)}:
820          IO.pure(Result<&1, &1, Failure, Conn & List<&1, Val>>, Done{(c, List.reverse(&1, Val, xs))})
821    case 1n+p:
822      match st:
823        case Fail{e}:
824          IO.pure(Result<&1, &1, Failure, Conn & List<&1, Val>>, Fail{e})
825        case Done{(c, xs)}:
826          do IO<Result<&1, &1, Failure, Conn & List<&1, Val>>>:
827            r : Result<&1, &1, Failure, Conn & Val> <- read(c)
828            read.n(p, read.push(xs, r))

Uses (14)

Used by (1)