package lwt

  1. Overview
  2. Docs
Promises and event-driven I/O

Install

Dune Dependency

Authors

Maintainers

Sources

5.6.1.tar.gz
md5=279024789a0ec84a9d97d98bad847f97
sha512=698875bd3bfcd5baa47eb48e412f442d289f9972421321541860ebe110b9af1949c3fbc253768495726ec547fe4ba25483cd97ff39bc668496fba95b2ed9edd8

doc/lwt/Lwt_result/index.html

Module Lwt_resultSource

Explicit error handling

  • since 2.6.0

This module provides helpers for values of type ('a, 'b) result Lwt.t. The module is experimental and may change in the future.

Sourcetype (+'a, +'b) t = ('a, 'b) result Lwt.t
Sourceval return : 'a -> ('a, _) t
Sourceval fail : 'b -> (_, 'b) t
Sourceval lift : ('a, 'b) result -> ('a, 'b) t
Sourceval ok : 'a Lwt.t -> ('a, _) t
Sourceval error : 'b Lwt.t -> (_, 'b) t
  • since 5.6.0
Sourceval catch : 'a Lwt.t -> ('a, exn) t

catch x behaves like return y if x evaluates to y, and like fail e if x raises e

Sourceval get_exn : ('a, exn) t -> 'a Lwt.t

get_exn is the opposite of catch: it unwraps the result type, returning the value in case of success, calls Lwt.fail in case of error.

Sourceval map : ('a -> 'b) -> ('a, 'e) t -> ('b, 'e) t
Sourceval map_error : ('e1 -> 'e2) -> ('a, 'e1) t -> ('a, 'e2) t
  • since 5.6.0
Sourceval bind : ('a, 'e) t -> ('a -> ('b, 'e) t) -> ('b, 'e) t
Sourceval bind_error : ('a, 'e1) t -> ('e1 -> ('a, 'e2) t) -> ('a, 'e2) t
  • since 5.6.0
Sourceval bind_lwt : ('a, 'e) t -> ('a -> 'b Lwt.t) -> ('b, 'e) t
Sourceval bind_lwt_error : ('a, 'e1) t -> ('e1 -> 'e2 Lwt.t) -> ('a, 'e2) t
  • since 5.6.0
Sourceval bind_result : ('a, 'e) t -> ('a -> ('b, 'e) result) -> ('b, 'e) t
Sourceval both : ('a, 'e) t -> ('b, 'e) t -> ('a * 'b, 'e) t

Lwt.both p_1 p_2 returns a promise that is pending until both promises p_1 and p_2 become resolved. If only p_1 is Error e, the promise is resolved with Error e, If only p_2 is Error e, the promise is resolved with Error e, If both p_1 and p_2 resolve with Error _, the promise is resolved with the error that occurred first.

Sourceval iter : ('a -> unit Lwt.t) -> ('a, 'e) t -> unit Lwt.t

iter f r is f v if r is a promise resolved with Ok v, and Lwt.return_unit otherwise.

  • since Lwt 5.6.0
Sourceval iter_error : ('e -> unit Lwt.t) -> ('a, 'e) t -> unit Lwt.t

iter_error f r is f v if r is a promise resolved with Error v, and Lwt.return_unit otherwise.

  • since Lwt 5.6.0
Sourcemodule Infix : sig ... end
Sourcemodule Let_syntax : sig ... end
Sourcemodule Syntax : sig ... end
include module type of Infix
Sourceval (>|=) : ('a, 'e) t -> ('a -> 'b) -> ('b, 'e) t
Sourceval (>>=) : ('a, 'e) t -> ('a -> ('b, 'e) t) -> ('b, 'e) t

Deprecated

Sourceval map_err : ('e1 -> 'e2) -> ('a, 'e1) t -> ('a, 'e2) t
  • deprecated

    Alias to map_error since 5.6.0.

Sourceval bind_lwt_err : ('a, 'e1) t -> ('e1 -> 'e2 Lwt.t) -> ('a, 'e2) t
  • deprecated

    Alias to bind_lwt_error since 5.6.0.

OCaml

Innovation. Community. Security.