PreviousUpNext

14.5.21  Module_Junk

The compiler Module_Junk api defines access to functionality tracking modules in the compilation process. (In this context, a “module” is essentially what you get from compiling one sourcefile.)

The Module_Junk api is implemented by the module_junk package.

The Module_Junk api source code is in src/lib/compiler/front/typer-stuff/modules/module-junk.api.

See also: Type_Package_Language.

The above information is manually maintained and may contain errors.

api {
    exception UNBOUND symbol::Symbol;
        get_api_element :
        (module_level_declarations::Api_Elements , symbol::Symbol) -> module_level_declarations::Api_Element;
    get_api_element_variable : module_level_declarations::Api_Element -> Null_Or(stamp::Stamp );
        package_definition_to_package :
            (module_level_declarations::Package_Definition , module_level_declarations::Typerstore)
            ->
            module_level_declarations::Package;
        get_type :
            (module_level_declarations::Api_Elements , module_level_declarations::Typerstore , symbol::Symbol)
            ->
            (type_declaration_types::Type , stamp::Stamp);
        get_package :
            (   module_level_declarations::Api_Elements , module_level_declarations::Typerstore , symbol::Symbol ,
                varhome::Varhome , inlining_data::Inlining_Data
            )
            ->
            (module_level_declarations::Package , stamp::Stamp);
        get_generic :
            (   module_level_declarations::Api_Elements , module_level_declarations::Typerstore , symbol::Symbol ,
                varhome::Varhome , inlining_data::Inlining_Data
            )
            ->
            (module_level_declarations::Generic , stamp::Stamp);
    get_package_stamp : module_level_declarations::Package -> stamp::Stamp;
    get_package_name : module_level_declarations::Package -> ?.inverse_path::Inverse_Path;
    get_packages : module_level_declarations::Package -> List(module_level_declarations::Package );
    get_types : module_level_declarations::Package -> List(type_declaration_types::Type );
    get_package_symbols : module_level_declarations::Package -> List(symbol::Symbol );
        get_package_via_path :
            (module_level_declarations::Package , symbol_path::Symbol_Path , symbol_path::Symbol_Path)
            ->
            module_level_declarations::Package;
        get_package_definition_via_path :
            (module_level_declarations::Package , symbol_path::Symbol_Path , symbol_path::Symbol_Path)
            ->
            module_level_declarations::Package_Definition;
        get_generic_via_path :
            (module_level_declarations::Package , symbol_path::Symbol_Path , symbol_path::Symbol_Path)
            ->
            module_level_declarations::Generic;
        get_type_via_path :
            (module_level_declarations::Package , symbol_path::Symbol_Path , symbol_path::Symbol_Path)
            ->
            type_declaration_types::Type;
        get_value_via_path :
            (module_level_declarations::Package , symbol_path::Symbol_Path , symbol_path::Symbol_Path)
            ->
            variables_and_constructors::Variable_Or_Constructor;
        check_path_sig :
        (module_level_declarations::Api , symbol_path::Symbol_Path) -> Null_Or(symbol::Symbol );
    apis_equal : (module_level_declarations::Api , module_level_declarations::Api) -> Bool;
    eq_origin : (module_level_declarations::Package , module_level_declarations::Package) -> Bool;
    typestamp_of : type_declaration_types::Type -> stampmapstack::Typestamp;
    packagestamp_of : module_level_declarations::Package -> stampmapstack::Packagestamp;
    genericstamp_of : module_level_declarations::Generic -> stampmapstack::Genericstamp;
        make_packagestamp :
            (module_level_declarations::Api , module_level_declarations::Typechecked_Package)
            ->
            stampmapstack::Packagestamp;
        make_genericstamp :
            (module_level_declarations::Generic_Api , module_level_declarations::Typechecked_Generic)
            ->
            stampmapstack::Genericstamp;
        translate_type :
            module_level_declarations::Typerstore
            ->
            type_declaration_types::Type -> type_declaration_types::Type;
        translate_typoid :
            module_level_declarations::Typerstore
            ->
            type_declaration_types::Typoid -> type_declaration_types::Typoid;
        relativize_type :
            ?.stamppath_context::Context
            ->
            type_declaration_types::Type -> (type_declaration_types::Type , Bool);
        relativize_typoid :
            ?.stamppath_context::Context
            ->
            type_declaration_types::Typoid -> (type_declaration_types::Typoid , Bool);
        include_package :
            (symbolmapstack::Symbolmapstack , module_level_declarations::Package)
            ->
            symbolmapstack::Symbolmapstack;
    extract_inlining_data : symbolmapstack_entry::Symbolmapstack_Entry -> inlining_data::Inlining_Data;
    get_api_symbols : module_level_declarations::Api -> List(symbol::Symbol );
    get_api_names : module_level_declarations::Package -> List(symbol::Symbol );
    debugging : Ref(Bool );};


Comments and suggestions to: bugs@mythryl.org

PreviousUpNext