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 highcode_codetemp::Codetemp | 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 : (highcode_codetemp::Codetemp , (Null_Or(symbol::Symbol ) -> highcode_codetemp::Codetemp)) -> Varhome; named_varhome : (symbol::Symbol , (Null_Or(symbol::Symbol ) -> highcode_codetemp::Codetemp)) -> Varhome; make_varhome : (Null_Or(symbol::Symbol ) -> highcode_codetemp::Codetemp) -> Varhome; external_varhome : picklehash::Picklehash -> Varhome; null_varhome : Varhome; highcode_variable_or_null : Varhome -> Null_Or(highcode_codetemp::Codetemp );};