Nice.mesa
Last Edited by: Swinehart, June 15, 1984 2:01:56 am PDT
Optional utilities whose absences do not cause Unbound Imports or crashes.
DIRECTORY Atom, IO, LarkControl, Rope, RPCPkt;
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.ROPENIL];
View: ViewProc = INLINE {
vr: REF = Atom.GetProp[$Interfaces, $View];
v: REF ViewProc = NARROW[vr, REF ViewProc];
IF v#NIL THEN v[r, name];
};
Debugging use only
ViewOne: PROC[r: REF, name: Rope.ROPENIL, iconic: BOOLFALSE];
Ref: UNSAFE PROC[whatever: LONG CARDINAL] RETURNS [REF];
}.