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
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))