module List: POLYMORPHIC
with type 'a poly = 'a list
type 'a
poly
Type of the polymorphic type. It must be instantiated before used. See
function instantiate
below.
val instantiate : 'a Type.t -> 'a poly Type.t
Returns the monomorphic instantiation of the polymorph type with the
given type value. For instance, if 'a poly = 'a list
, then
instantiate int
returns the type value int list
.
val is_instance_of : 'a Type.t -> bool
Returns true
iff the given type value has been created from
function instantiate
above.
For instance, is_instance_of (instantiate int)
always returns true
but is_instance_of int
always returns false
.
val get_instance : 'a poly Type.t -> 'a Type.t
get_instance ty
returns the type value used to create the given
monomorphic instantiation.