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