PreviousUpNext

15.3.171  src/lib/compiler/back/low/tools/arch/adl-type-junk.api

## adl-type-junk.api
#
# Utilities for manipulating types

# Compiled by:
#     src/lib/compiler/back/low/tools/arch/make-sourcecode-for-backend-packages.lib


stipulate
    package raw =  adl_raw_syntax_form;                                                         # adl_raw_syntax_form           is from   src/lib/compiler/back/low/tools/adl-syntax/adl-raw-syntax-form.pkg
herein

    # This api is implemented in:
    #     src/lib/compiler/back/low/tools/arch/adl-type-junk.pkg
    #
    api Adl_Type_Junk {
        #
        Level = Int;
        #
        init:     Void -> Void;
        make_variable:   Level -> raw::Type;
        make_ivar:  Level -> raw::Type;
        unify:    ((Void -> String), raw::Type, raw::Type) -> Void;
        instantiate:     Level -> (raw::Expression, raw::Type) -> (raw::Expression, raw::Type);
        generalize:      Level -> (raw::Expression, raw::Type) -> (raw::Expression, raw::Type);
        lambda:   Level -> raw::Type -> raw::Type;
        apply:    (String, raw::Type, List(raw::Type)) -> raw::Type;
        poly:     (List(raw::Type), raw::Type) -> raw::Type;
        make_type:  raw::Sumtype -> (List(raw::Type), raw::Type);
        deref:    raw::Type -> raw::Type;
    };
end;


Comments and suggestions to: bugs@mythryl.org

PreviousUpNext