RoseLogging.Mesa
Last Edited by: Spreitzer, October 6, 1984 4:52:05 pm PDT
DIRECTORY RoseTypes;
RoseLogging: CEDAR DEFINITIONS =
BEGIN OPEN RoseTypes;
Row: TYPE = REF RowRep;
RowRep: TYPE = RECORD [
to: STREAM,
elts: EltList,
intro: PROC [row: Row] ← NIL,
data: REF ANYNIL
];
EltList: TYPE = LIST OF Element;
Element: TYPE = RECORD [
n: Node,
nFmt: Format,
ioFmt: ROPE];
WriteRow: PROC [row: Row];
WriteEverySettle: PROC [row: Row, sim: Simulation];
DontWriteEverySettle: PROC [row: Row, sim: Simulation];
RowFromNames: PROC [to: STREAM, enl: EltNamesList, pathPrefix: LIST OF REF ANY--actually UNION [ROPE, REF TEXT]--NIL, from: Cell ← NIL] RETURNS [row: Row];
EltNamesList: TYPE = LIST OF EltNames;
EltNames: TYPE = RECORD [
name: REF ANY,
actually UNION [ROPE, REF TEXT, LIST OF REF ANY (actually UNION [ROPE, REF TEXT])]
nodeFormat: ROPENIL--means default--,
ioFormat: ROPENIL--means IF last THEN "%g\n" ELSE "%g\t"--,
from: Cell ← NIL--means start from Cell identified in args from & pathPrefix--];
END.