containers

A modular, clean and powerful extension of the OCaml standard library
Legend:
Library
Module
Module type
Parameter
Class
Class type
Library containers
Module CCOpt . Infix
val (>|=) : 'a t -> ( 'a -> 'b ) -> 'b t

x >|= f is map f x.

val (>>=) : 'a t -> ( 'a -> 'b t ) -> 'b t

Monadic bind.

val (<*>) : ( 'a -> 'b ) t -> 'a t -> 'b t

f <*> (Some x) returns Some (f x) and f <*> None returns None.

val (<$>) : ( 'a -> 'b ) -> 'a t -> 'b t

Like map.

val (<+>) : 'a t -> 'a t -> 'a t

a <+> b is a if a is Some _, b otherwise.

Let operators on OCaml >= 4.08.0, nothing otherwise

  • since 2.8
include CCShimsMkLet_.S with type 'a t_let := 'a option
val let+ : 'a option -> ( 'a -> 'b ) -> 'b option
val and+ : 'a option -> 'b option -> ('a * 'b) option
val let* : 'a option -> ( 'a -> 'b option ) -> 'b option
val and* : 'a option -> 'b option -> ('a * 'b) option