The compiler Type_Junk api defines access to functionality in support of compiler handling of type information.
The Type_Junk api is implemented by the type_junk package.
The Type_Junk api source code is in src/lib/compiler/front/typer-stuff/types/type-junk.api.
The above information is manually maintained and may contain errors.
api { equality_property_to_string : type_declaration_types::e::Is_Eqtype -> String; make_incomplete_record_typevar : (List(((symbol::Symbol , type_declaration_types::Typoid)) ) , Int) -> type_declaration_types::Typevar; make_user_typevar : symbol::Symbol -> type_declaration_types::Typevar; make_overloaded_literal_typevar : (type_declaration_types::Literal_Kind , line_number_db::Source_Code_Region , List(String )) -> type_declaration_types::Typoid; make_overloaded_typevar_and_type : List(String ) -> type_declaration_types::Typoid; make_meta_typevar_and_type : (Int , List(String )) -> type_declaration_types::Typoid; name_of_type : type_declaration_types::Type -> symbol::Symbol; stamp_of_type : type_declaration_types::Type -> stamp::Stamp; namepath_of_type : type_declaration_types::Type -> ?.inverse_path::Inverse_Path; stamppath_of_type : type_declaration_types::Type -> ?.stamppath::Stamppath; arity_of_type : type_declaration_types::Type -> Int; set_typepath : (type_declaration_types::Type , ?.inverse_path::Inverse_Path) -> type_declaration_types::Type; types_are_equal : (type_declaration_types::Type , type_declaration_types::Type) -> Bool; make_constructor_typoid : (type_declaration_types::Type , List(type_declaration_types::Typoid )) -> type_declaration_types::Typoid; drop_resolved_typevars : type_declaration_types::Typoid -> type_declaration_types::Typoid; same_typevar_ref : (type_declaration_types::Typevar_Ref , type_declaration_types::Typevar_Ref) -> Bool; resolve_typevars_to_typescheme_slots : List(type_declaration_types::Typevar_Ref ) -> Void; resolve_typevars_to_typescheme_slots_1 : List(type_declaration_types::Typevar_Ref ) -> type_declaration_types::Typescheme_Eqflags; exception BAD_TYPE_REDUCTION; map_constructor_typoid_dot_type : (type_declaration_types::Type -> type_declaration_types::Type) -> type_declaration_types::Typoid -> type_declaration_types::Typoid; apply_typescheme : (type_declaration_types::Typescheme , List(type_declaration_types::Typoid )) -> type_declaration_types::Typoid; reduce_typoid : type_declaration_types::Typoid -> type_declaration_types::Typoid; head_reduce_typoid : type_declaration_types::Typoid -> type_declaration_types::Typoid; typoids_are_equal : (type_declaration_types::Typoid , type_declaration_types::Typoid) -> Bool; type_equality : (type_declaration_types::Type , type_declaration_types::Type) -> Bool; make_typeagnostic_api : Int -> type_declaration_types::Typescheme_Eqflags; sumtype_to_type : type_declaration_types::Valcon -> type_declaration_types::Type; sumtype_to_typoid : (type_declaration_types::Type , Null_Or(type_declaration_types::Typoid )) -> type_declaration_types::Typoid; match_typescheme : (type_declaration_types::Typescheme , type_declaration_types::Typoid) -> type_declaration_types::Typoid; drop_macro_expanded_indirections_from_type : type_declaration_types::Typoid -> Void; instantiate_if_typescheme : (type_declaration_types::Typoid , symbolmapstack::Symbolmapstack , List(String )) -> (type_declaration_types::Typoid , List(type_declaration_types::Typoid )); pkg_typoid_matches_api_typoid : {type_per_api:type_declaration_types::Typoid, type_per_pkg:type_declaration_types::Typoid} -> Bool; typevar_of_typoid : type_declaration_types::Typoid -> type_declaration_types::Typevar_Ref; get_recursive_typevar_map : (Int , type_declaration_types::Typoid) -> Int -> Bool; label_is_greater_than : (symbol::Symbol , symbol::Symbol) -> Bool; is_value : {inlining_data_says_it_is_pure:inlining_data::Inlining_Data -> Bool} -> deep_syntax::Deep_Expression -> Bool; is_variable_typoid : type_declaration_types::Typoid -> Bool; sort_fields : List(((deep_syntax::Numbered_Label , X)) ) -> List(((deep_syntax::Numbered_Label , X)) ); map_unzip : (X -> (Y , Z)) -> List(X ) -> (List(Y ) , List(Z )); Typeset; make_typeset : Void -> Typeset; insert_type_into_typeset : (type_declaration_types::Type , Typeset) -> Typeset; filter_typeset : (type_declaration_types::Typoid , Typeset) -> List(type_declaration_types::Type ); sumtype_sibling : (Int , type_declaration_types::Type) -> type_declaration_types::Type; extract_sumtype : type_declaration_types::Type -> List(type_declaration_types::Valcon ); wrap_definition : (type_declaration_types::Type , stamp::Stamp) -> type_declaration_types::Type; unwrap_definition_1 : type_declaration_types::Type -> Null_Or(type_declaration_types::Type ); unwrap_definition_star : type_declaration_types::Type -> type_declaration_types::Type;};