
    <<Types.mesa>>
        <<Copyright  1985 by Xerox Corporation.  All rights reserved.>>
        <<Satterthwaite, June 18, 1986 10:15:33 am PDT>>
    <<Russ Atkinson (RRA) January 31, 1985 1:13:55 pm PST>>

    DIRECTORY
        SymbolTable: TYPE USING [Base],
        Symbols: TYPE USING [CSEIndex];

    Types: DEFINITIONS = {

        SymbolTableBase: TYPE = SymbolTable.Base;

        Handle: TYPE = RECORD[
            stb: SymbolTable.Base,
            sei: Symbols.CSEIndex];

    <<opaque type evaluation>>

        OpaqueValue: PROC[type: Types.Handle, base: SymbolTable.Base] RETURNS[val: Types.Handle];
    <<>>
    <<type manipulation>>

        Assignable: PROC[typeL, typeR: Types.Handle] RETURNS[BOOL];
        Equivalent: PROC[type1, type2: Types.Handle] RETURNS[BOOL];

        }.

