package octez-libs

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module Monad.Lwt_traced_result_syntax

The Lwt traced Result monad: for concurrent successes and traced failures

The Lwt_traced_result_syntax module is similar to the Lwt_result_syntax module with the following difference:

  • fail wraps the error in a trace,
  • and* and and+ are provided.

See Lwt_result_syntax.

val return : 'a -> ('a, 'error) Stdlib.result Lwt.t
val return_unit : (unit, 'error) Stdlib.result Lwt.t
val return_none : ('a option, 'error) Stdlib.result Lwt.t
val return_some : 'a -> ('a option, 'error) Stdlib.result Lwt.t
val return_nil : ('a list, 'error) Stdlib.result Lwt.t
val return_true : (bool, 'error) Stdlib.result Lwt.t
val return_false : (bool, 'error) Stdlib.result Lwt.t
val fail : 'error -> ('a, 'error trace) Stdlib.result Lwt.t

fail e is Lwt.return (Error (Trace.make e)) where Trace is the Traced_sigs.Trace module that provides the trace type and functions.

val (let*) : ('a, 'e) Stdlib.result Lwt.t -> ('a -> ('b, 'e) Stdlib.result Lwt.t) -> ('b, 'e) Stdlib.result Lwt.t
val (and*) : ('a, 'e trace) Stdlib.result Lwt.t -> ('b, 'e trace) Stdlib.result Lwt.t -> ('a * 'b, 'e trace) Stdlib.result Lwt.t
val (let+) : ('a, 'e) Stdlib.result Lwt.t -> ('a -> 'b) -> ('b, 'e) Stdlib.result Lwt.t
val (and+) : ('a, 'e trace) Stdlib.result Lwt.t -> ('b, 'e trace) Stdlib.result Lwt.t -> ('a * 'b, 'e trace) Stdlib.result Lwt.t
val (let*!) : 'a Lwt.t -> ('a -> 'b Lwt.t) -> 'b Lwt.t
val (let*?) : ('a, 'e) Stdlib.result -> ('a -> ('b, 'e) Stdlib.result Lwt.t) -> ('b, 'e) Stdlib.result Lwt.t
val join : (unit, 'error trace) Stdlib.result Lwt.t list -> (unit, 'error trace) Stdlib.result Lwt.t
val all : ('a, 'error trace) Stdlib.result Lwt.t list -> ('a list, 'error trace) Stdlib.result Lwt.t
val both : ('a, 'error trace) Stdlib.result Lwt.t -> ('b, 'error trace) Stdlib.result Lwt.t -> ('a * 'b, 'error trace) Stdlib.result Lwt.t
OCaml

Innovation. Community. Security.