Module Preface_stdlib

Common datatypes

module Void : sig ... end

Void describes unhabited type. A type that is not representable.

module Identity : sig ... end

Implementation for Identity.t.

module Option : sig ... end

Implementation for Option.t.

module Either : sig ... end

Implementation for Either.t.

module Pair : sig ... end

Implementation for Pair.t.

Collection

module List : sig ... end

Implementation for List.t.

module Nonempty_list : sig ... end

Implementation for Nonempty_list.t.

module Seq : sig ... end

Implementation for Seq.t.

module Stream : sig ... end

Implementation for Stream.t.

Error handling

module Exn : sig ... end

Built-in exception used along Preface.

module Result : sig ... end

Implementation for Result.t.

module Validation : sig ... end

Implementation for Validation.t.

module Try : sig ... end

Implementation for Try.t.

module Validate : sig ... end

Implementation for Try.t.

Functions

module Fun : sig ... end

Implementation for function 'a -> 'b.

module Predicate : sig ... end

Implementation for Predicate.t.

module Equivalence : sig ... end

Implementation for Equivalence.t.

module Continuation : sig ... end

Implementation for Continuation.t.

Transformers over identity

There are some (monad or comonad) transformers defined in Spec/Make. In Stdlib these are some concretised version using Identity as inner monad or comonad.

module Reader : sig ... end

A specialized version of a Reader monad with Identity as the inner monad. Since Preface.Make.Reader is a Transformer, this module exposes the classical Reader monad.

module Writer : sig ... end

A specialized version of a Writer monad with Identity as the inner monad. Since Preface.Make.Writer is a Transformer, this module exposes the classical Writer monad.

module State : sig ... end

A specialized version of a State monad with Identity as the inner monad. Since Preface.Make.State is a Transformer, this module exposes the classical State monad.

module Store : sig ... end

A specialized version of a Store comonad with Identity as the inner comonad. Since Preface.Make.Store is a Transformer, this module exposes the classical Store comonad (or Costate).

module Env : sig ... end

A specialized version of an Env comonad with Identity as the inner comonad. Since Preface.Make.Env is a Transformer, this module exposes the classical Env comonad (or Coreader).

module Traced : sig ... end

A specialized version of a Traced comonad with Identity as the inner comonad. Since Preface.Make.Traced is a Transformer, this module exposes the classical Traced comonad (or Cowriter).

Static Analysis

Applicatives, Selectives, Profunctors and Arrows allow, contrary to monads, to perform static analyses on calculation workflows. Over and Under allow optimistic or pessimistic approximations.

module Approximation : sig ... end

Build monoidal approximation.