--File: Set.mesa
Last Edited by: CSChow, February 1, 1985 0:23:15 am PST
Preas, August 2, 1986 6:16:12 pm PDT
--NB: This is only a TEMPORARY patch, should retrieved from ARCHIVE (Cedar5.2)
Set: CEDAR DEFINITIONS = BEGIN
Handle: TYPE = REF HandleRec;
HandleRec: TYPE = RECORD [
elements: LIST OF REF ANY];
EachEltAction: TYPE = PROC[e: REF ANY] RETURNS [stop: BOOLFALSE];
Element: TYPE = REF ANY;
New: PROC [] RETURNS [Handle];
Put: PROC[han: Handle, e: REF ANY] RETURNS [BOOL];
Enumerate: PROC[han: Handle, action: EachEltAction] RETURNS [stop: BOOL];
Cardinality: PROC[han: Handle] RETURNS [NAT];
Nth: PROC[han: Handle, n: NAT] RETURNS [REF ANY];
Difference: PROC[han1, han2: Handle] RETURNS [Handle];
Remove: PROC[han: Handle, e: REF ANY] RETURNS [BOOL];
In: PROC[han: Handle, e: REF ANY] RETURNS [BOOL];
END.