Asserting.Mesa
Copyright ©1984 Xerox Corporation. All rights reserved.
Last Edited by: Spreitzer, September 3, 1984 1:19:19 pm PDT
Asserting: CEDAR DEFINITIONS = {
Error: ERROR [a: Assertion];
Warning: SIGNAL [a: Assertion];
Assertions: TYPE = LIST OF Assertion;
Assertion: TYPE = LIST OF Term;
Term: TYPE = REF ANY;
UNION [ATOM, ROPE, REF BOOL, REF INT, REF REAL, Composite]
Composite: TYPE = LIST OF Term;
Assert: PROC [reln: Term, args: Composite, inAdditionTo: Assertions] RETURNS [allTogetherNow: Assertions];
AssertionsAbout: PROC [reln: Term, from: Assertions] RETURNS [Assertions];
EnumerateAssertionsAbout: PROC [reln: Term, from: Assertions, to: AssertionConsumer];
AssertionConsumer: TYPE = PROC [assertion: Assertion];
AssertFn: PROC [fn: Term, args: Composite, inAdditionTo: Assertions] RETURNS [allTogetherNow: Assertions];
AssertFn1: PROC [fn, arg: Term, inAdditionTo: Assertions] RETURNS [allTogetherNow: Assertions];
FnVals: PROC [fn: Term, from: Assertions] RETURNS [vals: Composite];
FnVal: PROC [fn: Term, from: Assertions] RETURNS [val: Term];
CheckFn: PROC [fn: Term, in: Assertions];
Union: PROC [a, b: Assertions] RETURNS [c: Assertions];
Equal: PROC [a, b: Term] RETURNS [BOOL];
}.