<> <> <> <> <> <> <> <<>> DIRECTORY IO USING [STREAM], Rope USING [ROPE], TextNode USING [Node]; InterFile: CEDAR DEFINITIONS = BEGIN Node: TYPE = TextNode.Node; ROPE: TYPE = Rope.ROPE; MaxLen: INT = LAST[INT]; <<**** File Input/Output>> ToFile: PROC [fileName: ROPE, node: Node, start: INT _ 0, flatten: BOOL _ TRUE] RETURNS [count: INT]; <> <> <> FromFile: PROC [fileName: ROPE, start: INT _ 0, len: INT _ MaxLen] RETURNS [Node]; <> <> <> <> <> FromFileError: ERROR; <<**** Input/Output using ropes instead of files>> ToRope: PROC [node: Node, flatten: BOOL _ TRUE] RETURNS [ROPE]; <> FromRope: PROC [rope: ROPE, start: INT _ 0, len: INT _ MaxLen] RETURNS [Node]; <> <<>> <<**** IO Operations ****>> ToStream: PROC [stream: IO.STREAM, node: Node, flatten: BOOL _ TRUE] RETURNS [count: INT]; <> <> FromStream: PROC [stream: IO.STREAM, len: INT _ MaxLen] RETURNS [Node]; <> END.