jon.recoil.org

Module Monad.Result

type ('a, 'e) t = ('a, 'e) Stdlib.result
val bind : ('a, 'e) Misc.Stdlib.Monad.Result.t -> ('a -> ('b, 'e) Misc.Stdlib.Monad.Result.t) -> ('b, 'e) Misc.Stdlib.Monad.Result.t
val (>>=) : ('a, 'e) Misc.Stdlib.Monad.Result.t -> ('a -> ('b, 'e) Misc.Stdlib.Monad.Result.t) -> ('b, 'e) Misc.Stdlib.Monad.Result.t

>>= is a synonym for bind

val return : 'a -> ('a, _) Misc.Stdlib.Monad.Result.t

return v returns the (trivial) computation that returns v.

val map : ('a -> 'b) -> ('a, 'e) Misc.Stdlib.Monad.Result.t -> ('b, 'e) Misc.Stdlib.Monad.Result.t

join t is t >>= (fun t' -> t').

val ignore_m : (_, 'e) Misc.Stdlib.Monad.Result.t -> (unit, 'e) Misc.Stdlib.Monad.Result.t

ignore_m t is map (fun _ -> ()) t.

val all : ('a, 'e) Misc.Stdlib.Monad.Result.t list -> ('a list, 'e) Misc.Stdlib.Monad.Result.t
val all_unit : (unit, 'e) Misc.Stdlib.Monad.Result.t list -> (unit, 'e) Misc.Stdlib.Monad.Result.t

Like all, but ensures that every monadic value in the list produces a unit value, all of which are discarded rather than being collected into a list.

module Syntax : sig ... end

As described at https://ocaml.org/manual/latest/bindingops.html