<> <> <> <> <<>> <> <<>> DIRECTORY CD USING [ObPtr]; CDAbuts: CEDAR DEFINITIONS = BEGIN <> IsAbutProc: TYPE = PROC [ob: CD.ObPtr] RETURNS [yes: BOOL _ FALSE]; IsAbutX: IsAbutProc; IsAbutY: IsAbutProc; IsAbut: IsAbutProc; -- conceptually: IsAbutX[ob] OR IsAbutY[ob] -- <<>> <> CreateAbutProc: TYPE = PROC [subObjects: LIST OF CD.ObPtr _ NIL] RETURNS [newAbut: CD.ObPtr]; CreateNewAbutX: CreateAbutProc; CreateNewAbutY: CreateAbutProc; <<>> <> <> GetAbutSubObjects: PROC [abut: CD.ObPtr] RETURNS [subObjects: LIST OF CD.ObPtr]; END. <<>>