jon.recoil.org

Module Base.ApplicativeSource

Sourcemodule 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.

Sourcemodule type S2_kernel = sig ... end

Applicative operations for applicatives with two type parameters.

Sourcemodule type S_kernel = sig ... end

Applicative operations for applicatives with one type parameter.

Sourcemodule type Applicative_infix3 = sig ... end

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

Sourcemodule type Applicative_infix2 = sig ... end

Infix operators for applicatives with two type parameters.

Sourcemodule type Applicative_infix = sig ... end

Infix operators for applicatives with one type parameter.

Sourcemodule type S3 = sig ... end

Complete applicative interface. Extends _kernel with infix operators.

Sourcemodule type S2 = sig ... end

Complete applicative interface with two type parameters.

Sourcemodule type S = sig ... end

Complete applicative interface with one type parameter.

Sourcemodule type Let_syntax3 = sig ... end

Supports let%map syntax. See ppx_let documentation.

Sourcemodule type Let_syntax2 = sig ... end

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

Sourcemodule type Let_syntax = sig ... end

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

Sourcemodule 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.

Sourcemodule type For_let_syntax3 = sig ... end

Argument to Make_let_syntax3.

Sourcemodule type For_let_syntax2 = sig ... end

Argument to Make_let_syntax2.

Sourcemodule type For_let_syntax = sig ... end

Argument to Make_let_syntax.

Sourcemodule type Basic3_using_map2 = sig ... end

Argument to Make3_using_map2.

Sourcemodule type Basic_using_map2 = sig ... end

Argument to Make_using_map2.

Sourcemodule type Basic2_using_map2 = sig ... end

Argument to Make2_using_map2.

Module types below provide both global and local versions. In OxCaml, the latter accept local ~f closures.

Both local and portable versions are designed with a strict data structure in mind. The types won't make sense for Applicatives whose evaluation is delayed (e.g. most monads, Command.Param, or anything like a database query applicative).

Sourcemodule type S3_kernel__portable = sig ... end

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

Sourcemodule type S2_kernel__portable = sig ... end

Applicative operations for applicatives with two type parameters.

Sourcemodule type S_kernel__portable = sig ... end

Applicative operations for applicatives with one type parameter.

Sourcemodule type Applicative_infix3__portable = sig ... end

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

Sourcemodule type Applicative_infix2__portable = sig ... end

Infix operators for applicatives with two type parameters.

Sourcemodule type Applicative_infix__portable = sig ... end

Infix operators for applicatives with one type parameter.

Sourcemodule type S3__portable = sig ... end

Complete applicative interface. Extends _kernel with infix operators.

Sourcemodule type S2__portable = sig ... end

Complete applicative interface with two type parameters.

Sourcemodule type S__portable = sig ... end

Complete applicative interface with one type parameter.

Sourcemodule type Let_syntax3__portable = sig ... end

Supports let%map syntax. See ppx_let documentation.

Sourcemodule type Let_syntax2__portable = sig ... end

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

Sourcemodule type Let_syntax__portable = sig ... end

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

Sourcemodule type Lazy_applicative__portable = 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.

Sourcemodule type For_let_syntax3__portable = sig ... end

Argument to Make_let_syntax3.

Sourcemodule type For_let_syntax2__portable = sig ... end

Argument to Make_let_syntax2.

Sourcemodule type For_let_syntax__portable = sig ... end

Argument to Make_let_syntax.

Sourcemodule type Basic3_using_map2__portable = sig ... end

Argument to Make3_using_map2.

Sourcemodule type Basic_using_map2__portable = sig ... end

Argument to Make_using_map2.

Sourcemodule type Basic2_using_map2__portable = sig ... end

Argument to Make2_using_map2.

Module types below provide both global and local versions. In OxCaml, the latter accept local ~f closures.

Both local and portable versions are designed with a strict data structure in mind. The types won't make sense for Applicatives whose evaluation is delayed (e.g. most monads, Command.Param, or anything like a database query applicative).

Sourcemodule type S3_kernel__local = sig ... end

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

Sourcemodule type S2_kernel__local = sig ... end

Applicative operations for applicatives with two type parameters.

Sourcemodule type S_kernel__local = sig ... end

Applicative operations for applicatives with one type parameter.

Sourcemodule type Applicative_infix3__local = sig ... end

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

Sourcemodule type Applicative_infix2__local = sig ... end

Infix operators for applicatives with two type parameters.

Sourcemodule type Applicative_infix__local = sig ... end

Infix operators for applicatives with one type parameter.

Sourcemodule type S3__local = sig ... end

Complete applicative interface. Extends _kernel with infix operators.

Sourcemodule type S2__local = sig ... end

Complete applicative interface with two type parameters.

Sourcemodule type S__local = sig ... end

Complete applicative interface with one type parameter.

Sourcemodule type Let_syntax3__local = sig ... end

Supports let%map syntax. See ppx_let documentation.

Sourcemodule type Let_syntax2__local = sig ... end

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

Sourcemodule type Let_syntax__local = sig ... end

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

Sourcemodule type Lazy_applicative__local = 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.

Sourcemodule type For_let_syntax3__local = sig ... end

Argument to Make_let_syntax3.

Sourcemodule type For_let_syntax2__local = sig ... end

Argument to Make_let_syntax2.

Sourcemodule type For_let_syntax__local = sig ... end

Argument to Make_let_syntax.

Sourcemodule type Basic3_using_map2__local = sig ... end

Argument to Make3_using_map2.

Sourcemodule type Basic_using_map2__local = sig ... end

Argument to Make_using_map2.

Sourcemodule type Basic2_using_map2__local = sig ... end

Argument to Make2_using_map2.

Module types below provide both global and local versions. In OxCaml, the latter accept local ~f closures.

Both local and portable versions are designed with a strict data structure in mind. The types won't make sense for Applicatives whose evaluation is delayed (e.g. most monads, Command.Param, or anything like a database query applicative).

Sourcemodule type S3_kernel__local__portable = sig ... end

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

Sourcemodule type S2_kernel__local__portable = sig ... end

Applicative operations for applicatives with two type parameters.

Sourcemodule type S_kernel__local__portable = sig ... end

Applicative operations for applicatives with one type parameter.

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

Infix operators for applicatives with two type parameters.

Infix operators for applicatives with one type parameter.

Sourcemodule type S3__local__portable = sig ... end

Complete applicative interface. Extends _kernel with infix operators.

Sourcemodule type S2__local__portable = sig ... end

Complete applicative interface with two type parameters.

Sourcemodule type S__local__portable = sig ... end

Complete applicative interface with one type parameter.

Sourcemodule type Let_syntax3__local__portable = sig ... end

Supports let%map syntax. See ppx_let documentation.

Sourcemodule type Let_syntax2__local__portable = sig ... end

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

Sourcemodule type Let_syntax__local__portable = sig ... end

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

Sourcemodule type Lazy_applicative__local__portable = 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.

Sourcemodule type For_let_syntax3__local__portable = sig ... end

Argument to Make_let_syntax3.

Sourcemodule type For_let_syntax2__local__portable = sig ... end

Argument to Make_let_syntax2.

Sourcemodule type For_let_syntax__local__portable = sig ... end

Argument to Make_let_syntax.

Argument to Make3_using_map2.

Sourcemodule type Basic_using_map2__local__portable = sig ... end

Argument to Make_using_map2.

Argument to Make2_using_map2.

Module types below provide both global and local versions. In OxCaml, the latter accept local ~f closures.

Both local and portable versions are designed with a strict data structure in mind. The types won't make sense for Applicatives whose evaluation is delayed (e.g. most monads, Command.Param, or anything like a database query applicative).

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

Applicative operations for applicatives with two type parameters.

Applicative operations for applicatives with one type parameter.

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

Infix operators for applicatives with two type parameters.

Infix operators for applicatives with one type parameter.

Complete applicative interface. Extends _kernel with infix operators.

Complete applicative interface with two type parameters.

Sourcemodule type S__'value_or_null_mod_maybe_null' = sig ... end

Complete applicative interface with one type parameter.

Supports let%map syntax. See ppx_let documentation.

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

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

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.

Argument to Make_let_syntax3.

Argument to Make_let_syntax2.

Argument to Make_let_syntax.

Argument to Make3_using_map2.

Argument to Make_using_map2.

Argument to Make2_using_map2.

Module types below provide both global and local versions. In OxCaml, the latter accept local ~f closures.

Both local and portable versions are designed with a strict data structure in mind. The types won't make sense for Applicatives whose evaluation is delayed (e.g. most monads, Command.Param, or anything like a database query applicative).

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

Applicative operations for applicatives with two type parameters.

Applicative operations for applicatives with one type parameter.

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

Infix operators for applicatives with two type parameters.

Infix operators for applicatives with one type parameter.

Complete applicative interface. Extends _kernel with infix operators.

Complete applicative interface with two type parameters.

Complete applicative interface with one type parameter.

Supports let%map syntax. See ppx_let documentation.

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

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

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.

Argument to Make_let_syntax3.

Argument to Make_let_syntax2.

Argument to Make_let_syntax.

Argument to Make3_using_map2.

Argument to Make_using_map2.

Argument to Make2_using_map2.

Module types below provide both global and local versions. In OxCaml, the latter accept local ~f closures.

Both local and portable versions are designed with a strict data structure in mind. The types won't make sense for Applicatives whose evaluation is delayed (e.g. most monads, Command.Param, or anything like a database query applicative).

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

Applicative operations for applicatives with two type parameters.

Applicative operations for applicatives with one type parameter.

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

Infix operators for applicatives with two type parameters.

Infix operators for applicatives with one type parameter.

Complete applicative interface. Extends _kernel with infix operators.

Complete applicative interface with two type parameters.

Complete applicative interface with one type parameter.

Supports let%map syntax. See ppx_let documentation.

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

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

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.

Argument to Make_let_syntax3.

Argument to Make_let_syntax2.

Argument to Make_let_syntax.

Argument to Make3_using_map2.

Argument to Make_using_map2.

Argument to Make2_using_map2.

Module types below provide both global and local versions. In OxCaml, the latter accept local ~f closures.

Both local and portable versions are designed with a strict data structure in mind. The types won't make sense for Applicatives whose evaluation is delayed (e.g. most monads, Command.Param, or anything like a database query applicative).

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

Applicative operations for applicatives with two type parameters.

Applicative operations for applicatives with one type parameter.

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

Infix operators for applicatives with two type parameters.

Infix operators for applicatives with one type parameter.

Complete applicative interface. Extends _kernel with infix operators.

Complete applicative interface with two type parameters.

Complete applicative interface with one type parameter.

Supports let%map syntax. See ppx_let documentation.

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

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

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.

Argument to Make_let_syntax3.

Argument to Make_let_syntax2.

Argument to Make_let_syntax.

Argument to Make3_using_map2.

Argument to Make_using_map2.

Argument to Make2_using_map2.

Sourcemodule type Basic3 = sig ... end
Sourcemodule type Basic = sig ... end

Argument to Make.

Sourcemodule type Basic2 = sig ... end

Argument to Make2.

Argument to Make.

Argument to Make2.

Sourcemodule Ident : 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.

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.

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.

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.