package preface

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

A Category is a generalization of function composition to morphisms.

Laws

To have a predictable behaviour, the instance of Category must obey some laws.

  1. f % id = f
  2. id % f = f
  3. f % (g % h) = (f % g) % h

Minimal definition

module type WITH_ID_AND_COMPOSE = sig ... end

Minimal interface using id and compose.

Structure anatomy

module type CORE = WITH_ID_AND_COMPOSE

Basis operations.

module type OPERATION = sig ... end

Additional operations.

module type INFIX = sig ... end

Infix operators.

Complete API

module type API = sig ... end

The complete interface of a Category.

Additional references