Module Hardcaml_kernel.EnumSource

The Enum contains functors that can be used to create special interface modules to represent an enumeration type (ie: a variant with no arguments).

Sourcemodule type Cases = sig ... end
Sourcemodule type S_enum = sig ... end
Sourcemodule type S_enums = sig ... end
Sourcemodule Make_binary (Cases : Cases) : S_enum with module Cases := Cases

Constructs a hardcaml interface which represents hardware for the given Enum as an abstract Interface, using a Binary internal representation.

Sourcemodule Make_one_hot (Cases : Cases) : S_enum with module Cases := Cases

Similar to Make_binary, but using a one hot representation internally.

Sourcemodule Make_enums (Cases : Cases) : S_enums with module Cases := Cases

Make_enums is semantically similar to: