package lemonade

  1. Overview
  2. Docs
type !'a t = 'a option
val pp_print : (Format.formatter -> 'a -> unit) -> Format.formatter -> 'a option -> unit
val is_some : 'a option -> bool
val is_none : 'a option -> bool
val find : 'a option -> 'a
val default : 'a -> 'a option -> 'a
val of_list : 'a list -> 'a option
val to_list : 'a option -> 'a list
val filter_map : ('a -> 'b option) -> 'a list -> 'b list
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
module T (M : Lemonade_Type.S) : sig ... end