PairList: CEDAR DEFINITIONS = BEGIN RelationHead: TYPE = RECORD[first, last: REF Pair]; Relation: TYPE = REF RelationHead; Pair: TYPE = RECORD[link: REF Pair, left, right: REF ANY _ NIL]; NotFound: SIGNAL; EqualProc: TYPE = PROC[left,right: REF ANY] RETURNS[return: BOOLEAN]; CreateRelation: PROCEDURE RETURNS [Relation]; AddPair: PROCEDURE [relation: Relation, left, right: REF ANY _ NIL]; Left: PROCEDURE[relation: Relation, equals: EqualProc, right: REF ANY _ NIL] RETURNS [REF ANY _ NIL]; Right: PROCEDURE[relation: Relation, equals: EqualProc, left: REF ANY _ NIL] RETURNS [REF ANY _ NIL]; ForAllPairs: PROCEDURE[relation: Relation, do: PROCEDURE[leftPart, rightPart: REF ANY _ NIL]]; DestroyRelation: PROCEDURE[relation: Relation]; END. ²PairList.Mesa Last changed by: 26-Jun-81 18:28:36 Cedar version:18-Jun-81 14:24:37 Ordered pairs; building and searching Last Edited by: Beach, May 1, 1984 2:08:58 pm PDT Ê‹˜™ Jšœ#™#Jšœ ™ Jšœ%™%J™1—J˜Jšœ Ïkœ˜Jš˜Jšœœœœ˜3Jšœ œœ˜"Jš œœœœœœœ˜@Jšœ œ˜JšÏn œœœ œœœ œ˜EJ˜Jšžœ œœ ˜-Jš žœ œ#œœœ˜Dš žœ œ/œœœ˜LJšœœœœ˜—š žœ œ.œœœ˜LJšœœœœ˜—šž œ œ˜*Jš œ œœœœ˜3—Jšžœ œ˜/Jšœ˜J˜J˜J˜J˜—…—î+