PreviousUpNext

14.5.46  Type_Junk

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;};


Comments and suggestions to: bugs@mythryl.org

PreviousUpNext