package orsetto

  1. Overview
  2. Docs
On This Page
  1. Trinary Monad
Legend:
Library
Module
Module type
Parameter
Class
Class type
Trinary Monad
module type Basis = sig ... end

Define a module of type Basis to make a monad with three type parameters, two phantom types and a return type.

module type Infix = sig ... end

A module type that defines the infix monad operators.

module type Profile = sig ... end

A module type that defines the core monad functions.

module Create (B : Basis) : Profile with type ('p, 'q, 'r) t := ('p, 'q, 'r) B.t

Use Create(B) to make the core monad functions for the basis module B.