package lemonade

  1. Overview
  2. Docs

Parameters

Signature

type output = Output.t
type +'a t
val bind : 'a t -> ('a -> 'b t) -> 'b t
val return : 'a -> 'a t
val apply : ('a -> 'b) t -> 'a t -> 'b t
val join : 'a t t -> 'a t
val map : ('a -> 'b) -> 'a t -> 'b t
val bind2 : 'a t -> 'b t -> ('a -> 'b -> 'c t) -> 'c t
val bind3 : 'a t -> 'b t -> 'c t -> ('a -> 'b -> 'c -> 'd t) -> 'd t
val bind4 : 'a t -> 'b t -> 'c t -> 'd t -> ('a -> 'b -> 'c -> 'd -> 'e t) -> 'e t
val map2 : ('a -> 'b -> 'c) -> 'a t -> 'b t -> 'c t
val map3 : ('a -> 'b -> 'c -> 'd) -> 'a t -> 'b t -> 'c t -> 'd t
val map4 : ('a -> 'b -> 'c -> 'd -> 'e) -> 'a t -> 'b t -> 'c t -> 'd t -> 'e t
val dist : 'a t list -> 'a list t
val ignore : 'a t -> unit t
val filter : ('a -> bool t) -> 'a t list -> 'a list t
val only_if : bool -> unit t -> unit t
val unless : bool -> unit t -> unit t
val catch : (unit -> 'a t) -> (exn -> 'a t) -> 'a t
module Infix : sig ... end
val writer : (output * 'a) -> 'a t
val tell : output -> unit t
val listen : 'a t -> (output * 'a) t
val pass : ((output -> output) * 'a) t -> 'a t
val listens : (output -> 'b) -> 'a t -> ('a * 'b) t
val censor : (output -> output) -> 'a t -> 'a t
val run : 'a t -> output * 'a
val eval : 'a t -> 'a
val exec : 'a t -> output
module T (M : Lemonade_Type.S) : sig ... end