Dyn.Make
val create : string -> 'a tag
create n
returns a tag describing a type called n
. create
raises an exception if n
is already registered. Type names are hashed, so create
may raise even if no type with the exact same name was registered due to a collision.
val anonymous : int -> 'a tag
anonymous i
returns a tag describing an i
-th anonymous type. If anonymous
is not used together with create
, max_int
anonymous types are available. anonymous
raises an exception if i
is already registered.
eq t1 t2
returns Some witness
if t1
is the same as t2
, None
otherwise.
val repr : 'a tag -> string
repr tag
returns the name of the type represented by tag
.
dump ()
returns a list of (tag, name) pairs for every type tag registered in this Dyn.Make
instance.
val name : string -> any option
name n
returns Some t
where t is a boxed tag previously registered with create n
, or None
if there is no such tag.
Map from type tags to values parameterized by the tag type
module Easy : sig ... end