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