jon.recoil.org

Module Base.ApplicativeSource

include sig ... end
module type S3_kernel = sig ... end

Applicative operations. An applicative abstracts the notion of computations whose results can be combined. An 'a t represents a computation returning 'a.

module type S2_kernel = sig ... end

Applicative operations for applicatives with two type parameters.

module type S_kernel = sig ... end

Applicative operations for applicatives with one type parameter.

module type Applicative_infix3 = sig ... end

Infix operators. This module type subsumes the other Index* types below.

module type Applicative_infix2 = sig ... end

Infix operators for applicatives with two type parameters.

module type Applicative_infix = sig ... end

Infix operators for applicatives with one type parameter.

module type S3 = sig ... end

Complete applicative interface. Extends _kernel with infix operators.

module type S2 = sig ... end

Complete applicative interface with two type parameters.

module type S = sig ... end

Complete applicative interface with one type parameter.

module type Let_syntax3 = sig ... end

Supports let%map syntax. See ppx_let documentation.

module type Let_syntax2 = sig ... end

Supports let%map syntax for applicatives with two type parameters.

module type Let_syntax = sig ... end

Supports let%map syntax for applicatives with one type parameter.

module type Lazy_applicative = sig ... end

Lazy_applicative is an applicative whose structure may be computed on-demand, instead of being constructed up-front. This is useful when implementing traversals over large data structures, where otherwise we have to pay O(n) up-front cost both in time and in memory.

module type For_let_syntax3 = sig ... end

Argument to Make_let_syntax3.

module type For_let_syntax2 = sig ... end

Argument to Make_let_syntax2.

module type For_let_syntax = sig ... end

Argument to Make_let_syntax.

module type Basic3_using_map2 = sig ... end

Argument to Make3_using_map2.

module type Basic_using_map2 = sig ... end

Argument to Make_using_map2.

module type Basic2_using_map2 = sig ... end

Argument to Make2_using_map2.

include sig ... end
module type Basic3 = sig ... end
module type Basic = sig ... end

Argument to Make.

module type Basic2 = sig ... end

Argument to Make2.

Sourcemodule Ident : Base.Applicative.S__'value_or_null_mod_maybe_null'__local with type ('a : value_or_null) t = 'a

The identity applicative. Useful as an argument to functors that require a monad, to produce a non-applicative result.

include sig ... end
Sourcemodule Make (X : sig ... end) : sig ... end

Produces a monad with one type parameter.

Sourcemodule Make2 (X : sig ... end) : sig ... end

Produces a monad with two type parameters.

Sourcemodule Make3 (X : sig ... end) : sig ... end

Produces a monad with three type parameters.

include sig ... end
Sourcemodule Make_using_map2 (X : sig ... end) : sig ... end

Produces a monad with one type parameter.

Sourcemodule Make2_using_map2 (X : sig ... end) : sig ... end

Produces a monad with two type parameters.

Sourcemodule Make3_using_map2 (X : sig ... end) : sig ... end

Produces a monad with three type parameters.

Sourcemodule Of_monad (M : sig ... end) : sig ... end

Converts a monad with one type parameter to an applicative.

Sourcemodule Of_monad2 (M : sig ... end) : sig ... end

Converts a monad with two type parameters to an applicative.

Sourcemodule Of_monad3 (M : sig ... end) : sig ... end

Converts a monad with three type parameters to an applicative.

Sourcemodule Compose (Inner : sig ... end) (Outer : sig ... end) : sig ... end

Composes two applicatives, one nested inside the other.

Sourcemodule Pair (Fst : sig ... end) (Snd : sig ... end) : sig ... end

Combines two applicatives as a pair.

include sig ... end
Sourcemodule Make_let_syntax (X : sig ... end) (Intf : sig ... end) (Impl : Intf.S) : sig ... end

Constructs a Let_syntax module for an applicative with one type parameter.

Sourcemodule Make_let_syntax2 (X : sig ... end) (Intf : sig ... end) (Impl : Intf.S) : sig ... end

Constructs a Let_syntax module for an applicative with two type parameters.

Sourcemodule Make_let_syntax3 (X : sig ... end) (Intf : sig ... end) (Impl : Intf.S) : sig ... end

Constructs a Let_syntax module for an applicative with three type parameters.