Up

Module Resource

Signature

module Raw : sig .. end
type ('a, 'e) t = ('a, 'e) Raw.t
val create : acquire:(unit -> ('a, 'e) Core.Std.Result.t Async_kernel.Std.Deferred.t) -> release:('a -> unit Async_kernel.Std.Deferred.t) -> ('a, 'e) t
val with_ : ('a, 'e) t -> f:('a -> 'b Async_kernel.Std.Deferred.t) -> ('b, 'e) Core.Std.Result.t Async_kernel.Std.Deferred.t
val (>>=) : ('a, 'e) t -> ('a -> ('b, 'e) t) -> ('b, 'e) t
val (>>|) : ('a, 'e) t -> ('a -> 'b) -> ('b, 'e) t
module Let_syntax : sig .. end
module Monad_infix : sig .. end
val bind : ('a, 'e) t -> ('a -> ('b, 'e) t) -> ('b, 'e) t
val return : 'a -> ('a, 'b) t
val map : ('a, 'e) t -> f:('a -> 'b) -> ('b, 'e) t
val join : (('a, 'e) t, 'e) t -> ('a, 'e) t
val ignore_m : ('a, 'e) t -> (unit, 'e) t
val all : ('a, 'e) t list -> ('a list, 'e) t
val all_ignore : (unit, 'e) t list -> (unit, 'e) t
val map_error : ('a, 'e1) t -> f:('e1 -> 'e2) -> ('a, 'e2) t
val fail : 'e -> ('a, 'e) t
val shared : ('a, 'e) t -> ('a, 'e) t
module Memo (Key : Core.Std.Hashable) : sig .. end
val delayed_release : ('a, 'e) t -> delay:Core.Std.Time.Span.t -> ('a, 'e) t