Module Bastet.Verify

module Compare : sig ... end

Provides functors to verify that instances are lawful.

module Medial_Magma : functor (M : Interface.MEDIAL_MAGMA) -> sig ... end

Default Verify functors. Uses Pervasives.( == ) for comparison.

module Semigroup : functor (S : Interface.SEMIGROUP) -> sig ... end
module Semigroup_Any : functor (S : Interface.SEMIGROUP_ANY) -> sig ... end
module Monoid : functor (M : Interface.MONOID) -> sig ... end
module Monoid_Any : functor (M : Interface.MONOID_ANY) -> sig ... end
module Quasigroup : functor (Q : Interface.QUASIGROUP) -> sig ... end
module Quasigroup_Any : functor (Q : Interface.QUASIGROUP_ANY) -> sig ... end
module Medial_Quasigroup : functor (Q : Interface.MEDIAL_QUASIGROUP) -> sig ... end
module Loop : functor (L : Interface.LOOP) -> sig ... end
module Loop_Any : functor (L : Interface.LOOP_ANY) -> sig ... end
module Group : functor (G : Interface.GROUP) -> sig ... end
module Group_Any : functor (G : Interface.GROUP_ANY) -> sig ... end
module Abelian_Group : functor (A : Interface.ABELIAN_GROUP) -> sig ... end
module Abelian_Group_Any : functor (A : Interface.ABELIAN_GROUP_ANY) -> sig ... end
module Functor : functor (F : Interface.FUNCTOR) -> sig ... end
module Apply : functor (A : Interface.APPLY) -> sig ... end
module Applicative : functor (A : Interface.APPLICATIVE) -> sig ... end
module Monad : functor (M : Interface.MONAD) -> sig ... end
module Alt : functor (A : Interface.ALT) -> sig ... end
module Plus : functor (P : Interface.PLUS) -> sig ... end
module Alternative : functor (A : Interface.ALTERNATIVE) -> sig ... end
module Semigroupoid : functor (S : Interface.SEMIGROUPOID) -> sig ... end
module Category : functor (C : Interface.CATEGORY) -> sig ... end
module Eq : functor (E : Interface.EQ) -> sig ... end
module Ord : functor (E : Interface.ORD) -> sig ... end
module Bounded : functor (B : Interface.BOUNDED) -> sig ... end
module Join_Semilattice : functor (J : Interface.JOIN_SEMILATTICE) -> sig ... end
module Meet_Semilattice : functor (M : Interface.MEET_SEMILATTICE) -> sig ... end
module Bounded_Join_Semilattice : functor (J : Interface.BOUNDED_JOIN_SEMILATTICE) -> sig ... end
module Bounded_Meet_Semilattice : functor (M : Interface.BOUNDED_MEET_SEMILATTICE) -> sig ... end
module Lattice : functor (L : Interface.LATTICE) -> sig ... end
module Bounded_Lattice : functor (L : Interface.BOUNDED_LATTICE) -> sig ... end
module Distributive_Lattice : functor (L : Interface.DISTRIBUTIVE_LATTICE) -> sig ... end
module Bounded_Distributive_Lattice : functor (L : Interface.BOUNDED_DISTRIBUTIVE_LATTICE) -> sig ... end
module Heyting_Algebra : functor (H : Interface.HEYTING_ALGEBRA) -> sig ... end
module Involutive_Heyting_Algebra : functor (H : Interface.INVOLUTIVE_HEYTING_ALGEBRA) -> sig ... end
module Boolean_Algebra : functor (B : Interface.BOOLEAN_ALGEBRA) -> sig ... end
module Semiring : functor (S : Interface.SEMIRING) -> sig ... end
module Ring : functor (R : Interface.RING) -> sig ... end
module Commutative_Ring : functor (R : Interface.COMMUTATIVE_RING) -> sig ... end
module Division_Ring : functor (R : Interface.DIVISION_RING) -> sig ... end
module Euclidean_Ring : functor (R : Interface.EUCLIDEAN_RING) -> sig ... end
module Field : functor (F : Interface.FIELD) -> sig ... end
module Invariant : functor (I : Interface.INVARIANT) -> sig ... end
module Contravariant : functor (C : Interface.CONTRAVARIANT) -> sig ... end
module Profunctor : functor (P : Interface.PROFUNCTOR) -> sig ... end
module Monad_Zero : functor (M : Interface.MONAD_ZERO) -> sig ... end
module Monad_Plus : functor (M : Interface.MONAD_PLUS) -> sig ... end
module Extend : functor (E : Interface.EXTEND) -> sig ... end
module Comonad : functor (C : Interface.COMONAD) -> sig ... end
module Bifunctor : functor (B : Interface.BIFUNCTOR) -> sig ... end
module Bicontravariant : functor (B : Interface.BICONTRAVARIANT) -> sig ... end