DIRECTORY Basics USING [Comparison], Rope USING [ROPE]; RopeList: CEDAR DEFINITIONS = BEGIN CompareProc: TYPE = PROC [r1, r2: Rope.ROPE] RETURNS [Basics.Comparison]; EqualLists: PROC [l1, l2: LIST OF Rope.ROPE, case: BOOL ¬ TRUE] RETURNS [BOOL]; Memb: PROC [list: LIST OF Rope.ROPE, r: Rope.ROPE, case: BOOL ¬ TRUE] RETURNS [BOOL]; Cons: PROC [list: LIST OF Rope.ROPE, r: Rope.ROPE] RETURNS [LIST OF Rope.ROPE]; Append: PROC [l1, l2: LIST OF Rope.ROPE] RETURNS [LIST OF Rope.ROPE]; CopyTopList: PROC [list: LIST OF Rope.ROPE] RETURNS [LIST OF Rope.ROPE]; Remove: PROC [list: LIST OF Rope.ROPE, r: Rope.ROPE, case: BOOL ¬ TRUE] RETURNS [LIST OF Rope.ROPE]; Reverse: PROC [list: LIST OF Rope.ROPE] RETURNS [LIST OF Rope.ROPE]; DAppend: PROC [l1, l2: LIST OF Rope.ROPE] RETURNS [LIST OF Rope.ROPE]; DRemove: PROC [list: LIST OF Rope.ROPE, r: Rope.ROPE, case: BOOL ¬ TRUE] RETURNS [LIST OF Rope.ROPE]; DReverse: PROC [list: LIST OF Rope.ROPE] RETURNS [LIST OF Rope.ROPE]; Length: PROC [list: LIST OF Rope.ROPE] RETURNS [INT]; Map: PROC [list: LIST OF Rope.ROPE, proc: PROC [Rope.ROPE]]; Sort: PROC [list: LIST OF Rope.ROPE, compareProc: CompareProc] RETURNS [LIST OF Rope.ROPE]; Compare: CompareProc; IgnoreCase: CompareProc; END.  RopeList.mesa Copyright Σ 1986, 1991 by Xerox Corporation. All rights reserved. Last Edited by: Stewart.pa, December 15, 1983 6:46 pm Doug Wyatt, December 15, 1986 3:11:35 pm PST This interface provides some utilities for manipulating lists of ropes. Useful types. Here are a collection of useful types. Predicates. Are the lists element by element Rope.Equal[case]? Is the given rope on the list? Constructors. These procedures do not disturb their arguments. Copies l1 then attaches l2 to the end of it. If l2 is NIL, copies top level of l1. Returns a copy of the list. Remove the given rope from the list, if it is there. Removes all matching elements Reverse the list. Destructive Constructors. Like the constructors above, but these avoid CONSing by destroying the list passed in as an argument. Appends l2 to the end of l1. Remove the given rope from the list, if it is there. Removes only the first matching element. Reverse the list. Miscellaneous. Count the number of elements. Call proc with each element of the list. Sorting. Sorts the list according to CompareProc. Sort is destructive. Compares according to CHAR order. Compares according to CHAR order except that case distinctions are ignored. December 15, 1983 6:20 pm, Stewart, copied from List.mesa Κ•NewlineDelimiter –(cedarcode) style™code™ Kšœ Οeœ7™BKšœ5™5K™,K˜šΟk ˜ Kšœžœ˜Kšœžœžœ˜——K™KšœG™Gcode2šΟnœžœž œ˜Lšž˜—head™ Ibody™&Lš Ÿ œžœžœžœžœ˜I—šœ ™ šŸ œžœ žœžœžœžœžœžœžœ˜OL™2—šŸœžœžœžœžœ žœžœžœžœžœ˜UL™——šœ ™ N™0LšŸœžœžœžœžœ žœžœžœžœžœ˜OšŸœžœ žœžœžœžœžœžœžœ˜ELšœ1Οc"™S—šŸ œžœžœžœžœžœžœžœžœ˜HL™—šŸœžœžœžœžœ žœžœžœžœžœžœžœ˜dLšœS™S—šŸœžœžœžœžœžœžœžœžœ˜DL™——šœ™N™ešŸœžœ žœžœžœžœžœžœžœ˜FL™—šŸœžœžœžœžœ žœžœžœžœžœžœžœ˜eLšœ^™^—šŸœžœžœžœžœžœžœžœžœ˜EL™——šœ™šŸœžœžœžœžœžœžœ˜5L™—šŸœžœžœžœžœžœžœ˜™>—šœ˜Lšœ!™!—šœ˜LšœK™K——K˜Kšžœ˜L™9—…—Ξ k