package prbnmcn-basic-structures

  1. Overview
  2. Docs
module type Ordered = sig ... end

Totally ordered data

type 'a printer = Format.formatter -> 'a -> unit
module type Pp = sig ... end

Pretty-printable data

module type Std = sig ... end

Comparable, printable and hashable data

module type Abelian_group = sig ... end

Abelian group

module type Abelian_group_std = sig ... end
module type Monoid = sig ... end

Monoid

module type Monoid_std = sig ... end
module type Ring = sig ... end

Ring

module type Ring_std = sig ... end
module type Field = sig ... end

Field, assuming the ring is commutative.

module type Field_std = sig ... end

Field, assuming the ring is commutative.

module type Module = sig ... end

Modules over a ring R.

module type Module_std = sig ... end

Module over a ring R.

module type Algebra = sig ... end

Algebra over a ring

module type Free_module = sig ... end

Free module

module type Free_module_std = sig ... end
module type Finitely_generated_free_module = sig ... end
module type Partial_order = sig ... end

Partial order.

module type Monad = sig ... end

Module type of a plain monad

module type Codegen_monad = sig ... end

Monad dedicated to handling computations spanning several stages

module type Infix_order = sig ... end
module Lang : sig ... end

Module types useful for metaprogramming.

module type Metric = sig ... end

Metric space

module type Reals = sig ... end

Module type of anything that looks like the (measured) reals.