Nice:
CEDAR
DEFINITIONS
IMPORTS Atom = {
BeNiceProc: TYPE = PROC[r: REF, d: INT𡤆, how: ATOM, howD: REF];
BeNice: BeNiceProc =
INLINE {
vr: REF = Atom.GetProp[$Interfaces, $BeNice];
v: REF BeNiceProc = NARROW[vr, REF BeNiceProc];
IF v#NIL THEN v[r, d, how, howD];
};
LarkConLogStreamProc:
TYPE =
PROC[machine: RPCPkt.Machine]
RETURNS [log: IO.STREAM←NIL];
LarkConLogStream: LarkControl.GetLogStreamProc =
INLINE {
vr: REF = Atom.GetProp[$Interfaces, $GetLogStreamProc];
v: REF LarkControl.GetLogStreamProc = NARROW[vr, REF LarkControl.GetLogStreamProc];
IF v#NIL THEN log ← v[machine];
};
ViewProc: TYPE= PROC[r: REF, name: Rope.ROPE←NIL];
View: ViewProc =
INLINE {
vr: REF = Atom.GetProp[$Interfaces, $View];
v: REF ViewProc = NARROW[vr, REF ViewProc];
IF v#NIL THEN v[r, name];
};
ViewOne: PROC[r: REF, name: Rope.ROPE←NIL, iconic: BOOL←FALSE];
Ref: UNSAFE PROC[whatever: LONG CARDINAL] RETURNS [REF];
}.