package octez-libs
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=c6df840ebbf115e454db949028c595bec558a59a66cade73b52a6d099d6fa4d4
sha512=d8aee903b9fe130d73176bc8ec38b78c9ff65317da3cb4f3415f09af0c625b4384e7498201fdb61aa39086a7d5d409d0ab3423f9bc3ab989a680cf444a79bc13
doc/octez-libs.lwt-result-stdlib/Tezos_lwt_result_stdlib/Lwtreslib/Bare/Seq_e/index.html
Module Bare.Seq_e
Source
include Seqes.Sigs.SEQMON2ALL
with type ('a, 'e) mon := ('a, 'e) Stdlib.result
with type ('a, 'e) t := ('a, 'e) t
val init : int -> (int -> 'a) -> ('a, 'e) t
val unfold : ('b -> ('a * 'b) option) -> 'b -> ('a, 'e) t
val forever : (unit -> 'a) -> ('a, 'e) t
val iterate : ('a -> 'a) -> 'a -> ('a, 'e) t
val of_dispenser : (unit -> 'a option) -> ('a, 'e) t
val empty : ('a, 'e) t
val return : 'a -> ('a, 'e) t
val repeat : 'a -> ('a, 'e) t
val ints : int -> (int, 'e) t
return_e (Ok x)
is a whole sequence containing the single element x
. return_e (Error e)
is a sequence immediately interrupted by the error e
.
val interrupted : 'e -> ('a, 'e) t
interrupted e
is a sequence immediately interrupted by the error e
.
map_error f seq
is a sequence feq
.
- If
seq
is a whole sequence, thenfeq
is the same whole sequence. - If
seq
is an interrupted sequence, thenfeq
is a sequence interrupted byError (f e)
where the elements of the successful prefix are the elements of the successful prefix ofseq
.
iter_p f seq
is a promise p
.
- If
seq
is a whole sequence, thenp
resolves toOk ()
once all the promises created byf
on the elements ofseq
have resolved. - If
seq
is interrupted byError e
, thenp
resolves toError e
once all the promises created byf
on the elements of the successful prefix ofseq
have resolved.
Note that the behaviour for interrupted sequences is in line with the best-effort semantic of Lwtreslib.
cons_e (Ok x) s
is the sequence containing x
followed by s
. It is a whole sequence if s
is.
cons_e (Error e) s
is a sequence immediately interrupted by e
.
of_seq_catch s
is a sequence with the same elements as s
which is interrupted when forcing an element of the sequence raises an exception.
of_seq_once ~when_forced_twice s
is a sequence with the same elements as s
which is interrupted when an element of the sequence is forced twice.
In other words, it is equivalent to
map_error
(function Seq.Forced_twice -> when_forced_twice | e -> raise e)
(of_seq_catch (Seq.once s))