CDAbuts.mesa
Copyright © 1983, 1984 by Xerox Corporation. All rights reversed.
Created by Bertrand Serlet, February 3, 1985 12:49:51 pm PST
Last edited by Bertrand Serlet, May 1, 1985 7:12:34 pm PDT
CDAbuts:
CEDAR
DEFINITIONS =
BEGIN
Is this an Abut?
IsAbutProc: TYPE = PROC [ob: CD.ObPtr] RETURNS [yes: BOOL ← FALSE];
IsAbutX: IsAbutProc;
IsAbutY: IsAbutProc;
IsAbut: IsAbutProc; -- conceptually: IsAbutX[ob] OR IsAbutY[ob] --
Creating a new Abut object.
CreateAbutProc: TYPE = PROC [subObjects: LIST OF CD.ObPtr ← NIL] RETURNS [newAbut: CD.ObPtr];
CreateNewAbutX: CreateAbutProc;
CreateNewAbutY: CreateAbutProc;
Getting subobjects from an Abut.
NARROW error if not an Abut
GetAbutSubObjects: PROC [abut: CD.ObPtr] RETURNS [subObjects: LIST OF CD.ObPtr];
END.