Module Bastet.Interface
module type TYPE = sig ... endmodule type MAGMA = sig ... endmodule type MEDIAL_MAGMA = sig ... endmodule type MAGMA_ANY = sig ... endmodule type SEMIGROUP = sig ... endmodule type SEMIGROUP_ANY = sig ... endmodule type MONOID = sig ... endmodule type MONOID_ANY = sig ... endmodule type QUASIGROUP = sig ... endmodule type MEDIAL_QUASIGROUP = sig ... endmodule type QUASIGROUP_ANY = sig ... endmodule type LOOP = sig ... endmodule type LOOP_ANY = sig ... endmodule type GROUP = sig ... endmodule type GROUP_ANY = sig ... endmodule type GROUP_LOOP_ANY = functor (G : GROUP_ANY) -> LOOP_ANYmodule type ABELIAN_GROUP = sig ... endmodule type ABELIAN_GROUP_ANY = sig ... endmodule type FUNCTOR = sig ... endmodule type APPLY = sig ... endmodule type APPLICATIVE = sig ... endmodule type MONAD = sig ... endmodule type ALT = sig ... endmodule type PLUS = sig ... endmodule type ALTERNATIVE = sig ... endmodule type FOLDABLE = sig ... endmodule type UNFOLDABLE = sig ... endmodule type TRAVERSABLE = sig ... endmodule type TRAVERSABLE_F = functor (A : APPLICATIVE) -> TRAVERSABLE with type 'a applicative_t = 'a A.tmodule type SEMIGROUPOID = sig ... endmodule type CATEGORY = sig ... endmodule type EQ = sig ... endmodule type QUASIREFLEXIVE_EQ = sig ... endmodule type EQ1 = sig ... endmodule type EQ2 = sig ... endval invert : [< `equal_to | `greater_than | `less_than ] -> [> `equal_to | `greater_than | `less_than ]val int_to_ordering : int -> [> `equal_to | `greater_than | `less_than ]val unsafe_compare : 'a -> 'a -> [> `equal_to | `greater_than | `less_than ]
module type ORD = sig ... endmodule type BOUNDED = sig ... endmodule type JOIN_SEMILATTICE = sig ... endmodule type MEET_SEMILATTICE = sig ... endmodule type BOUNDED_JOIN_SEMILATTICE = sig ... endmodule type BOUNDED_MEET_SEMILATTICE = sig ... endmodule type LATTICE = sig ... endmodule type BOUNDED_LATTICE = sig ... endmodule type DISTRIBUTIVE_LATTICE = sig ... endmodule type BOUNDED_DISTRIBUTIVE_LATTICE = sig ... endmodule type HEYTING_ALGEBRA = sig ... endmodule type INVOLUTIVE_HEYTING_ALGEBRA = sig ... endmodule type BOOLEAN_ALGEBRA = sig ... endmodule type SHOW = sig ... endmodule type SEMIRING = sig ... endmodule type RING = sig ... endmodule type COMMUTATIVE_RING = sig ... endmodule type DIVISION_RING = sig ... endmodule type EUCLIDEAN_RING = sig ... endmodule type FIELD = sig ... endmodule type INVARIANT = sig ... endmodule type CONTRAVARIANT = sig ... endmodule type PROFUNCTOR = sig ... endmodule type MONAD_ZERO = sig ... endmodule type MONAD_PLUS = sig ... endmodule type EXTEND = sig ... endmodule type COMONAD = sig ... endmodule type BIFUNCTOR = sig ... endmodule type BIAPPLY = sig ... endmodule type BIAPPLICATIVE = sig ... endmodule type BIFOLDABLE = sig ... endmodule type BITRAVERSABLE = sig ... endmodule type BITRAVERSABLE_F = functor (A : APPLICATIVE) -> BITRAVERSABLE with type 'a applicative_t = 'a A.tmodule type BICONTRAVARIANT = sig ... end