Runs: DEFINITIONS = BEGIN RunValue: TYPE = CARDINAL; RunRec: TYPE = RECORD[rnNext: Run, iFrom, iTo: RunValue]; -- iTo not included Run: TYPE = LONG POINTER TO RunRec; SetAllocationProcs: PROC[allocProc: PROC RETURNS[Run], freeProc: PROC[Run]]; AddInterval: PROC[pRn: LONG POINTER TO Run, iFrom, n: RunValue]; DeleteInterval: PROC[pRn: LONG POINTER TO Run, iFrom, n: RunValue]; FindInterval: PROC[pRn: LONG POINTER TO Run, n: RunValue] RETURNS[iFrom: RunValue]; MapIntervals: PROC[pRn: LONG POINTER TO Run, proc: PROC[iFrom, n: RunValue]]; OverlappingInterval: SIGNAL; MissingInterval: ERROR; CantFindInterval: ERROR; END. xRuns.Mesa last edited May 11, 1983 5:55 pm by Paul Rovner TYPES PROCS deletes interval if found SIGNALs, ERRORs Ęm˜Jšœ ™ šœ/™/J˜JšœĎk ˜šœ˜J™Jšœ™Jšœ œœ˜Jšœœœ%Ďc˜MJš œœœœœ˜#J˜Jšœ™Jš Ďnœœ œœœ˜LJ˜Jš Ÿ œœœœœ˜@J˜Jš Ÿœœœœœ˜CJ˜š Ÿ œœœœœ˜9Jšœ˜Jšœ™—J˜Jš Ÿ œœœœœ œ˜M—˜J˜J™Jšœœ˜J˜Jšœœ˜J˜Jšœœ˜J˜—Jšœ˜J˜—J˜—…—|a