Module Alg_structs__.Applicative

Seed

module type Seed = sig ... end

The Seed needed to generate an implementation of Applicative

Interface

module type S = sig ... end

Laws

module Law : functor (A : S) -> sig ... end

Law notes the laws that should be obeyed by any instantiation of Applicative in the form of predicates that should be true for any arguments of the appropriate type.

Constructors

Module functors for creating implementations of Applicative

module Make : functor (B : Seed) -> S with type 'a t = 'a B.t

Implementations

Implementations for common data structures. See the documentation for each implementation module for an illustrative example.

module Option : S with type 'a t = 'a Stdlib.Option.t

Option provides sequencing of partial computations. E.g,

module List : S with type 'a t = 'a Stdlib.List.t

List defines applications that work across all possible combinations of the items in the respective lists. This is often used to model non-determinism.

module Array : S with type 'a t = 'a Stdlib.Array.t

As List but using arrays.