package mnd

  1. Overview
  2. Docs
include MONAD2 with type ('a, 'b) t = ('a, 'b) Stdlib.result
include MONAD2_DEF with type ('a, 'b) t = ('a, 'b) Stdlib.result
type ('a, 'b) t = ('a, 'b) Stdlib.result
val return : 'a -> ('a, 'b) t
val map : ('a1 -> 'a2) -> ('a1, 'b) t -> ('a2, 'b) t
val bind : ('a1, 'b) t -> ('a1 -> ('a2, 'b) t) -> ('a2, 'b) t
val let* : ('a1, 'b) t -> ('a1 -> ('a2, 'b) t) -> ('a2, 'b) t
val let+ : ('a1, 'b) t -> ('a1 -> 'a2) -> ('a2, 'b) t
val (>>=) : ('a1, 'b) t -> ('a1 -> ('a2, 'b) t) -> ('a2, 'b) t
val (>>) : ('a1, 'b) t -> ('a2, 'b) t -> ('a2, 'b) t
val (|>>) : ('a, 'e) t -> ('a -> 'b) -> ('b, 'e) t
val foldM : ('a2 -> 'a1 -> ('a2, 'b) t) -> 'a2 -> 'a1 list -> ('a2, 'b) t
val fold1M : ('a -> 'a -> ('a, 'b) t) -> 'a list -> ('a, 'b) t
val iterM : ('a -> (unit, 'b) t) -> 'a list -> (unit, 'b) t
val forM : 'a list -> ('a -> ('b, 'c) t) -> ('b list, 'c) t
val mapM : ('a -> ('b, 'e) t) -> 'a list -> ('b list, 'e) t
val ifM : bool -> (unit -> (unit, 'e) t) -> (unit, 'e) t
val error : 'b -> ('a, 'b) t