package primavera

  1. Overview
  2. Docs

Module Primavera.Req

The requirements describe the minimum interfaces for building Primavera instances on parameterised types (of arity 1 or 2). They broadly follow the minimal interface of a Functor, an Applicative and a Monad.

It would be possible to pool definitions to reduce the minimum definitions, however, these simplifications are left to the user (to keep the API simple).

module type S1 = sig ... end

Requirements for types of kind 1.

module type S2 = sig ... end

Requirements for types of kind 2.

module type S3 = sig ... end

Requirements for types of kind 3.