module Type: sig
.. end
Module that conataints the types
type
t
Types and type variables
type
tau
Types without type variables
type
lenv
Location environment or local envrionment variable (LEVar)
type
r
object type or object type variable (OTVar)
type
phi
location set or location set variable (LSVar)
type
q
Precise information of precise variable (PreVar)
Methods to create values
Types
val t_top : t
val t_undef : t
val t_int : t
val create_t_obj : q -> phi -> t
val create_t_fun : Inf.Vars.LEVar.t ->
t ->
t -> phi -> Inf.Vars.LEVar.t -> t -> t
val create_t_tv : Inf.Vars.TVar.t -> t
Local Environment
val empty_lenv : lenv
val add_to_lenv : lenv -> Location.Loc.t -> r -> lenv
val union_lenv : lenv -> lenv -> lenv
val create_lenv_levar : Inf.levar -> lenv
Object Types
val empty_obj : r
val add_to_obj : r -> Syntax.label -> Inf.Vars.TVar.t -> r
val create_r_otv : Inf.Vars.OTVar.t -> r
Locations
val create_phi_ls : Location.LSet.t -> phi
val create_phi_lsvar : Inf.Vars.LSVar.t -> phi
Precise Informations
val q_in : q
val q_ex : q
val create_q_pv : Inf.Vars.PrVar.t -> q
output
val string_of : t -> string
val string_of_p : q * phi -> string
val string_of_lenv : lenv -> string
val string_of_r : r -> string
val string_of_phi : phi -> string
val string_of_q : q -> string