-- WindowProcImpl.mesa,  Last Modified On  20-Nov-81 15:40:56 jHM
--	Schmidt August 22, 1982 1:51 pm

-- used to be WindowProcProg.Mesa

DIRECTORY
  IO: TYPE USING [Close, Handle],
  Process: TYPE USING [Detach],
  Rope: TYPE USING [ROPE],
  ViewerIO: TYPE USING [CreateViewerStreams],
  WindowProcInt: TYPE USING [];

WindowProcImpl: CEDAR PROGRAM 
	IMPORTS Process, IO, ViewerIO 
	EXPORTS WindowProcInt = BEGIN
--
i, o: IO.Handle;

F: PROC[proc: PROC[in, out, error: IO.Handle]]
   		      = {proc[i,o, o];
  		       i.Close[];
  			o.Close[]};
			
StartWindowProc: PUBLIC PROC[wname: Rope.ROPE, 
	proc: PROC[in, out, error: IO.Handle]] = {
	[i,o]  ← ViewerIO.CreateViewerStreams[wname];
   TRUSTED {Process.Detach[FORK F[proc]];}
   };

END.