DEFINITION MODULE IOChan; (* A minimal channel abstraction over the runtime streams (an ISO-style ChanId). ChanId is opaque; the standard channels are the standard input/output/error streams. *) TYPE ChanId; PROCEDURE StdInChan() : ChanId; PROCEDURE StdOutChan() : ChanId; PROCEDURE StdErrChan() : ChanId; PROCEDURE ReadChar(cid : ChanId) : CHAR; PROCEDURE WriteChar(cid : ChanId; c : CHAR); PROCEDURE WriteString(cid : ChanId; VAR s : ARRAY OF CHAR); PROCEDURE WriteLn(cid : ChanId); PROCEDURE WriteInt(cid : ChanId; n : INTEGER); END IOChan.