Module Core_kernel.Tuple
Functors and signatures for dealing with modules for tuples.
- module T2 : sig ... end
- Signature for a 2-tuple module 
- module T3 : sig ... end
- Signature for a 3-tuple module 
module type Comparable_sexpable = sig ... endmodule Comparable_plain : functor (S1 : Comparable.S_plain) -> functor (S2 : Comparable.S_plain) -> sig ... endmodule Comparable : functor (S1 : Comparable_sexpable) -> functor (S2 : Comparable_sexpable) -> Comparable_sexpable with type t := Make(S1)(S2).tmodule type Hashable_sexpable = sig ... end- module Hashable : functor (S1 : Hashable_sexpable) -> functor (S2 : Hashable_sexpable) -> Hashable_sexpable with type t := Make(S1)(S2).t
- The difference between - Hashableand- Hashable_tfunctors is that the former's result type doesn't contain type- tand the latter does. Therefore,- Hashablecan't be used to combine two pairs into 4-tuple. but- Hashable_tcan. On the other hand result of- Hashable_tcannot be combined with- Comparable.
module Hashable_t : functor (S1 : Hashable_sexpable) -> functor (S2 : Hashable_sexpable) -> Hashable_sexpable with type t = Make(S1)(S2).tmodule Sexpable : functor (S1 : Sexpable.S) -> functor (S2 : Sexpable.S) -> Sexpable.S with type t := Make(S1)(S2).tmodule Binable : functor (B1 : Binable.S) -> functor (B2 : Binable.S) -> Binable.S with type t := Make(B1)(B2).tmodule Hasher : functor (H1 : sig ... end) -> functor (H2 : sig ... end) -> Hashable_sexpable with type t := Make(H1)(H2).t