Perk.Type_symbol_table
Utils for the type symbol table
val builtin_types : (string * (Ast.perktype * 'a option)) list
val builtin_types_unlabeled : Ast.perktype list
val is_builtin_type : string -> (Ast.perktype * 'a option) -> bool
val is_builtin_type_unlabeled : Ast.perktype -> bool
val type_symbol_table :
(Ast.perkident, Ast.perktype * string option) Stdlib.Hashtbl.t
val lookup_type : Ast.perkident -> Ast.perktype option
val resolve_type : Ast.perktype -> Ast.perktype
val c_type_of_base_type : Ast.perktype -> string
val type_descriptor_of_perktype : ?erase_env:bool -> Ast.perktype -> string
val c_type_of_perktype : ?erase_env:bool -> Ast.perktype -> string
val type_descriptor_of_environment :
?erase_env:bool ->
Ast.perkvardesc list ->
string
val bind_type : Ast.perktype -> unit
val rebind_type : Ast.perkident -> Ast.perktype -> unit
val dependencies_of_type : Ast.perktype -> Ast.perkident list
val bind_type_if_needed : Ast.perktype -> unit
val add_code_to_type_binding : Ast.perktype -> string -> unit