IPVector: CEDAR DEFINITIONS ~ BEGIN Any: TYPE ~ REF; Cardinal: TYPE ~ INT--[0..maxCardinal]--; VectorShape: TYPE ~ RECORD[lowerBound: Cardinal, size: INT -- [0..maxCardinal+1] --]; Vector: TYPE ~ REF VectorRep; VectorRep: TYPE ~ RECORD[class: VectorClass, data: REF]; VectorClass: TYPE ~ REF VectorClassRep; VectorClassRep: TYPE ~ RECORD[ type: ATOM, -- $Array, $Merged, $String, ... shape: PROC [v: Vector] RETURNS [VectorShape], get: PROC [v: Vector, i: Cardinal] RETURNS [Any], getCardinal: PROC [v: Vector, i: Cardinal] RETURNS [Cardinal], getProp: PROC [v: Vector, propName: Any] RETURNS [found: BOOL, value: Any] _ NIL ]; END. 6IPVector.mesa Copyright c 1986 by Xerox Corporation. All rights reserved. Removed from IPInterpreter because of a circular reference between IPInterpreter USING [Vector], and IPMaster USING [Body, Op, Token] Upper bound "u" = lowerBound+size-1. Allan H. Wax November 25, 1986 5:30:48 pm PST Genesis Κf˜Icode˜šœ™Kšœ Οmœ1™<—K˜KšΠlnœΟkœŸ ˜KšœŸ˜˜KšœQŸœŸœ™…K˜K˜KšœŸœŸœ˜Kšœ ŸœŸΟcœ˜)š œ ŸœŸœŸœ œ˜UKšœ$™$K™—KšœŸœŸœ ˜šœ ŸœŸœŸœ˜8K˜—Kšœ ŸœŸœ˜'šœŸœŸœ˜KšœŸœ  ˜,KšœŸœ Ÿœ˜.KšœŸœŸœ˜1Kšœ ŸœŸœ ˜>Kšœ ŸœŸœ ŸœŸ˜PK˜—K˜—K˜KšŸœ˜šœ*Ÿ™-K™—K™—…—‚