Frama-C:
Plug-ins:
Libraries:

Frama-C API - Polymorphic

For a polymorphic type value with one type variable, you must use an implementation of this signature.

type 'a poly

Type of the polymorphic type (for instance 'a list). It must be instantiated before used. See function instantiate below.

val instantiate : 'a t -> 'a poly t * bool
  • 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 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 t -> 'a t

get_instance ty returns the type value used to create the given monomorphic instantiation.