7.6.2.18 rnrs io simple

The (rnrs io simple (6)) library provides convenience functions for performing textual I/O on ports. This library also exports all of the condition types and associated procedures described in (see I/O Conditions). In the context of this section, when stating that a procedure behaves “identically” to the corresponding procedure in Guile’s core library, this is modulo the behavior wrt. conditions: such procedures raise the appropriate R6RS conditions in case of error, but otherwise behave identically.

Note: There are still known issues regarding condition-correctness; some errors may still be thrown as native Guile exceptions instead of the appropriate R6RS conditions.

Scheme Procedure: eof-object
Scheme Procedure: eof-object? obj

These procedures are identical to the ones provided by the (rnrs io ports (6)) library. See rnrs io ports, for documentation.

Scheme Procedure: input-port? obj
Scheme Procedure: output-port? obj

These procedures are identical to the ones provided by Guile’s core library. See Ports, for documentation.

Scheme Procedure: call-with-input-file filename proc
Scheme Procedure: call-with-output-file filename proc
Scheme Procedure: open-input-file filename
Scheme Procedure: open-output-file filename
Scheme Procedure: with-input-from-file filename thunk
Scheme Procedure: with-output-to-file filename thunk

These procedures are identical to the ones provided by Guile’s core library. See File Ports, for documentation.

Scheme Procedure: close-input-port input-port
Scheme Procedure: close-output-port output-port

Closes the given input-port or output-port. These are legacy interfaces; just use close-port.

Scheme Procedure: peek-char
Scheme Procedure: peek-char textual-input-port
Scheme Procedure: read-char
Scheme Procedure: read-char textual-input-port

These procedures are identical to the ones provided by Guile’s core library. See Venerable Port Interfaces, for documentation.

Scheme Procedure: read
Scheme Procedure: read textual-input-port

This procedure is identical to the one provided by Guile’s core library. See Reading Scheme Code, for documentation.

Scheme Procedure: display obj
Scheme Procedure: display obj textual-output-port
Scheme Procedure: newline
Scheme Procedure: newline textual-output-port
Scheme Procedure: write obj
Scheme Procedure: write obj textual-output-port
Scheme Procedure: write-char char
Scheme Procedure: write-char char textual-output-port

These procedures are identical to the ones provided by Guile’s core library. See Venerable Port Interfaces, and See Writing Scheme Values, for documentation.