


The compiler Varhome api defines management of storage class information associated with a user variable during the compilation process.
The Varhome api is implemented by the varhome package.
The Varhome api source code is in src/lib/compiler/front/typer-stuff/basics/varhome.api.
The above information is manually maintained and may contain errors.
api { Varhome
= EXTERN picklehash::Picklehash
| HIGHCODE_VARIABLE Int
| NO_VARHOME
| PATH (Varhome , Int);
Valcon_Form
= CONSTANT Int
| EXCEPTION Varhome
| LISTCONS
| LISTNIL
| REFCELL_REP
| SUSPENSION Null_Or(((Varhome , Varhome)) )
| TAGGED Int
| TRANSPARENT
| UNTAGGED;
Valcon_Signature
= CONSTRUCTOR_SIGNATURE (Int , Int)
| NULLARY_CONSTRUCTOR;
print_varhome : Varhome -> String;
print_representation : Valcon_Form -> String;
print_constructor_api : Valcon_Signature -> String;
is_exception : Valcon_Form -> Bool;
select_varhome : (Varhome , Int) -> Varhome;
duplicate_varhome : (Int , (Null_Or(symbol::Symbol ) -> Int))
-> Varhome;
named_varhome : (symbol::Symbol , (Null_Or(symbol::Symbol ) -> Int))
-> Varhome;
make_varhome : (Null_Or(symbol::Symbol ) -> Int) -> Varhome;
external_varhome : picklehash::Picklehash -> Varhome;
null_varhome : Varhome;
highcode_variable_or_null : Varhome -> Null_Or(Int );
};


