Skip to content

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.