Make.Smodule type T = sig ... endGeneric interface for a datatype with comparison, pretty-printer and serialization functions.
module type HASHABLE = sig ... endGeneric interface for a datatype with comparison, pretty-printer, serialization functions and a hashing function.
The signature of an abstract hash type, as produced by functor Make_SHA256. The t type is abstracted for separating the various kinds of hashes in the system at typing time. Each type is equipped with functions to use it as is of as keys in the database or in memory sets and maps.
module type MINIMAL_HASH = sig ... endmodule type RAW_DATA = sig ... endmodule type B58_DATA = sig ... endmodule type ENCODER = sig ... endmodule type SET = sig ... endmodule type MAP = sig ... endmodule type INDEXES = sig ... endmodule type HASH = sig ... endmodule type MERKLE_TREE = sig ... endmodule type SIGNATURE = sig ... end