DEFINITION MODULE StdIO; (* Generic character input/output over the default channels, with a stack of pushable procedures (gm2-compatible). *) TYPE ProcWrite = PROCEDURE (CHAR); ProcRead = PROCEDURE (VAR CHAR); PROCEDURE Read (VAR ch : CHAR); PROCEDURE Write (ch : CHAR); PROCEDURE PushOutput (p : ProcWrite); PROCEDURE PopOutput; PROCEDURE GetCurrentOutput () : ProcWrite; PROCEDURE PushInput (p : ProcRead); PROCEDURE PopInput; PROCEDURE GetCurrentInput () : ProcRead; END StdIO.