<> <> <> <> <<>> DIRECTORY Basics USING [LongNumber], FS USING [AccessOptions, Error, ErrorDesc, StreamOpen], IO USING [Close, EndOfStream, Error, GetByte, GetChar, PutByte, PutChar, STREAM], PS USING [Error, File, NewFile, PopFile, PopInt, PopString, PushBool, PushFile, PushInt, PushString, Register, RegisterPrimitives, Root, RopeFromString, String, StringGet, StringGetInterval, StringIndex, StringPut], Rope USING [Equal, ROPE]; PSFileImpl: CEDAR PROGRAM IMPORTS FS, IO, PS, Rope ~ BEGIN OPEN PS; ROPE: TYPE ~ Rope.ROPE; STREAM: TYPE ~ IO.STREAM; <> FileCreate: PROC [string1, string2: String] RETURNS [File] ~ { fileName: ROPE ~ RopeFromString[string1]; fileAccess: ROPE ~ RopeFromString[string2]; accessOptions: FS.AccessOptions _ read; stream: STREAM _ NIL; fsError: FS.ErrorDesc; <