package mtl

  1. Overview
  2. Docs
A Monad Transformers Library for OCaml

Install

Dune Dependency

Authors

Maintainers

Sources

v1.0.0.tar.gz
sha256=d1a54676bbffa0401efecc61d614a2a46c78fecf8c1c28341c4aeb85a6b1a87d
md5=705ec4ca36ed5ab8f4bde4d8f8537f7d

doc/mtl/Mtl/Writer_monad/index.html

Module Mtl.Writer_monad

Parameters

module Log : sig ... end

Signature

type log = Log.log
type ('x, 'a) result = 'a * log
type ('x, 'a) result_exn = 'a * log
include Monad.S with type ('x, 'a) result := ('x, 'a) result and type ('x, 'a) result_exn := ('x, 'a) result_exn
include Monad.BASE with type ('x, 'a) result := ('x, 'a) result with type ('x, 'a) result_exn := ('x, 'a) result_exn
type ('x, 'a) m
val unit : 'a -> ('x, 'a) m
val bind : ('x, 'a) m -> ('a -> ('x, 'b) m) -> ('x, 'b) m
val run : ('x, 'a) m -> ('x, 'a) result
val run_exn : ('x, 'a) m -> ('x, 'a) result_exn
val zero : unit -> ('x, 'a) m
val plus : ('x, 'a) m -> ('x, 'a) m -> ('x, 'a) m
val (>>=) : ('x, 'a) m -> ('a -> ('x, 'b) m) -> ('x, 'b) m
val (>>) : ('x, 'a) m -> ('x, 'b) m -> ('x, 'b) m
val join : ('x, ('x, 'a) m) m -> ('x, 'a) m
val apply : ('x, 'a -> 'b) m -> ('x, 'a) m -> ('x, 'b) m
val lift : ('a -> 'b) -> ('x, 'a) m -> ('x, 'b) m
val lift2 : ('a -> 'b -> 'c) -> ('x, 'a) m -> ('x, 'b) m -> ('x, 'c) m
val (>=>) : ('a -> ('x, 'b) m) -> ('b -> ('x, 'c) m) -> 'a -> ('x, 'c) m
val do_when : bool -> ('x, unit) m -> ('x, unit) m
val do_unless : bool -> ('x, unit) m -> ('x, unit) m
val forever : (unit -> ('x, 'a) m) -> ('x, 'b) m
val sequence : ('x, 'a) m list -> ('x, 'a list) m
val sequence_ : ('x, 'a) m list -> ('x, unit) m
val guard : bool -> ('x, unit) m
val sum : ('x, 'a) m list -> ('x, 'a) m
val tell : log -> ('x, unit) m
val listen : ('x, 'a) m -> ('x, 'a * log) m
val listens : (log -> 'b) -> ('x, 'a) m -> ('x, 'a * 'b) m
val censor : (log -> log) -> ('x, 'a) m -> ('x, 'a) m
module T (Wrapped : Monad.S) : sig ... end
OCaml

Innovation. Community. Security.