Hardcaml.EnumThe Enum contains functors that can be used to create special interface modules to represent an enumeration type (ie: a variant with no arguments).
module type S_enum = sig ... endmodule type S_enums = sig ... endmodule Make_binary (Cases : sig ... end) : S_enum with module Cases := CasesConstructs a hardcaml interface which represents hardware for the given Enum as an abstract Interface, using a Binary internal representation.
module Make_one_hot (Cases : sig ... end) : S_enum with module Cases := CasesSimilar to Make_binary, but using a one hot representation internally.
module Make_enums (Cases : sig ... end) : S_enums with module Cases := CasesMake_enums is semantically similar to: