VersionMapViews.mesa
Copyright Ó 1990, 1991 by Xerox Corporation. All rights reserved.
Willie-s, February 15, 1991 3:57 pm PST
DIRECTORY PFS, PFSNames, Rope;
VersionMapViews: CEDAR DEFINITIONS = BEGIN
ROPE: TYPE ~ Rope.ROPE;
Component: TYPE ~ PFSNames.Component;
PATH: TYPE ~ PFS.PATH;
MapViewPathFromRope: PROC [whichMap: ATOM, file: ROPE, all: BOOL ¬ TRUE] RETURNS [PATH];
MapViewPathFromComponent: PROC [whichMap: ATOM, file: Component, all: BOOL ¬ TRUE] RETURNS [PATH];
MapViewPathFromPath: PROC [whichMap: ATOM, file: PATH, all: BOOL ¬ TRUE] RETURNS [PATH];
RopeFindR: PROC [whichMap: ATOM, file: ROPE, all: BOOL ¬ TRUE] RETURNS [map, base: PATH];
ComponentFindR: PROC [whichMap: ATOM, file: Component, all: BOOL ¬ TRUE] RETURNS [map, base: PATH];
PathFindR: PROC [whichMap: ATOM, file: PATH, all: BOOL ¬ TRUE] RETURNS [map, base: PATH];
These return [NIL, NIL] if not found.
Ropifynd: PROC [map, base: PATH] RETURNS [rMap, rBase: ROPE];
Thus a completely ROPE-oriented client can say APPLY[Ropifynd, RopeFindR[...]].
END.