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_typ : (module_level_declarations::Api_Elements
               , module_level_declarations::Typerstore , symbol::Symbol)
              -> (types::Typ , stamp::Stamp);
    get_package : (module_level_declarations::Api_Elements
                   , module_level_declarations::Typerstore , symbol::Symbol
                   , varhome::Varhome
                   , inlining_information::Inlining_Information)
                  -> (module_level_declarations::Package , stamp::Stamp);
    get_generic : (module_level_declarations::Api_Elements
                   , module_level_declarations::Typerstore , symbol::Symbol
                   , varhome::Varhome
                   , inlining_information::Inlining_Information)
                  -> (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_typs : module_level_declarations::Package -> List(types::Typ );
    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_typ_via_path : (module_level_declarations::Package
                        , symbol_path::Symbol_Path , symbol_path::Symbol_Path)
                       -> types::Typ;
    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 : types::Typ -> 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_typ : module_level_declarations::Typerstore
                    -> types::Typ -> types::Typ;
    translate_type : module_level_declarations::Typerstore
                     -> types::Type -> types::Type;
    relativize_typ : ?.stamppath_context::Context
                     -> types::Typ -> (types::Typ , Bool);
    relativize_type : ?.stamppath_context::Context
                      -> types::Type -> (types::Type , Bool);
    include_package : (symbolmapstack::Symbolmapstack
                       , module_level_declarations::Package)
                      -> symbolmapstack::Symbolmapstack;
    extract_inlining_info : symbolmapstack_entry::Symbolmapstack_Entry
                            -> inlining_information::Inlining_Information;
    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