package zelus

  1. Overview
  2. Docs
type 'a info = {
  1. qualid : Lident.qualident;
  2. info : 'a;
}
type value_desc = {
  1. mutable value_typ : Deftypes.typ_scheme;
  2. mutable value_static : bool;
  3. mutable value_caus : Defcaus.tc_scheme option;
  4. mutable value_init : Definit.ti_scheme option;
  5. mutable value_code : value_code;
}
and value_exp =
  1. | Vconst of Deftypes.immediate
  2. | Vconstr0 of Lident.qualident
  3. | Vconstr1 of Lident.qualident * value_code list
  4. | Vtuple of value_code list
  5. | Vrecord of (Lident.qualident * value_code) list
  6. | Vperiod of value_code Zelus.period
  7. | Vfun of Zelus.funexp * value_code Zident.Env.t
  8. | Vabstract of Lident.qualident

The type of values

and value_code = {
  1. value_exp : value_exp;
  2. value_name : Lident.qualident option;
}
type constr_desc = {
  1. constr_arg : Deftypes.typ list;
  2. constr_res : Deftypes.typ;
  3. constr_arity : int;
}
and label_desc = {
  1. label_arg : Deftypes.typ;
  2. label_res : Deftypes.typ;
}
type type_desc = {
  1. mutable type_desc : type_components;
  2. mutable type_parameters : int list;
}
and type_components =
  1. | Abstract_type
  2. | Variant_type of constr_desc info list
  3. | Record_type of label_desc info list
  4. | Abbrev of Deftypes.typ list * Deftypes.typ
val value_code : value_exp -> value_code
val value_name : Lident.qualident -> value_code -> value_code
val value_desc : bool -> Deftypes.typ_scheme -> Lident.qualident -> value_desc
val set_type : value_desc info -> Deftypes.typ_scheme -> unit
val set_causality : value_desc info -> Defcaus.tc_scheme -> unit
val set_init : value_desc info -> Definit.ti_scheme -> unit
val set_value_code : value_desc info -> value_code -> unit