package bastet

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

Module Bastet.DualSource

Sourcetype 'a dual =
  1. | Dual of 'a

A data structure representing the dual of a monoid

Sourcemodule type MAGMA_F = functor (M : Interface.MAGMA) -> Interface.MAGMA with type t = M.t dual
Sourcemodule type SEMIGROUP_F = functor (S : Interface.SEMIGROUP) -> Interface.SEMIGROUP with type t = S.t dual
Sourcemodule 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.

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

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

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