Module Fix.Numbering

Numbering offers a facility for assigning a unique number to each value in a certain finite set and translating (both ways) between values and their numbers.

module Make : functor (M : Fix__.Sigs.IMPERATIVE_MAPS) -> Fix__.Sigs.TWO_PHASE_NUMBERING with type t = M.key
module ForOrderedType : functor (T : Fix__.Sigs.OrderedType) -> Fix__.Sigs.TWO_PHASE_NUMBERING with type t = T.t
module ForHashedType : functor (T : Fix__.Sigs.HashedType) -> Fix__.Sigs.TWO_PHASE_NUMBERING with type t = T.t
module ForType : functor (T : Fix__.Sigs.TYPE) -> Fix__.Sigs.TWO_PHASE_NUMBERING with type t = T.t