package bastet

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
type 'a dual =
  1. | Dual of 'a

A data structure representing the dual of a monoid

module type MAGMA_F = functor (M : Interface.MAGMA) -> Interface.MAGMA with type t = M.t dual
module type SEMIGROUP_F = functor (S : Interface.SEMIGROUP) -> Interface.SEMIGROUP with type t = S.t dual
module type MONOID_F = functor (M : Interface.MONOID) -> Interface.MONOID with type t = M.t dual

A MONOID only needs to be commutative with the empty element.

module type MAGMA_ANY_F = functor (M : Interface.MAGMA_ANY) -> Interface.MAGMA_ANY with type 'a t = 'a M.t dual
module type SEMIGROUP_ANY_F = functor (S : Interface.SEMIGROUP_ANY) -> Interface.SEMIGROUP_ANY with type 'a t = 'a S.t dual
module type MONOID_ANY_F = functor (M : Interface.MONOID_ANY) -> Interface.MONOID_ANY with type 'a t = 'a M.t dual
module type TRAVERSABLE_F = functor (A : Interface.APPLICATIVE) -> Interface.TRAVERSABLE with type 'a t = 'a dual and type 'a applicative_t = 'a A.t
module Magma : MAGMA_F
module Monoid : MONOID_F

A MONOID only needs to be commutative with the empty element.

module Functor : Interface.FUNCTOR with type 'a t = 'a dual
module Applicative : Interface.APPLICATIVE with type 'a t = 'a dual
module Monad : Interface.MONAD with type 'a t = 'a dual
module Foldable : Interface.FOLDABLE with type 'a t = 'a dual
module Infix : sig ... end
OCaml

Innovation. Community. Security.