The I/O port API of the Revised Report^6 on
the Algorithmic Language Scheme (R6RS) is provided by the
io ports) module. It provides features, such as binary I/O and Unicode
string I/O, that complement or refine Guile’s historical port API
presented above (see Input and Output). Note that R6RS ports are not
disjoint from Guile’s native ports, so Guile-specific procedures will
work on ports created using the R6RS API, and vice versa.
The text in this section is taken from the R6RS standard libraries document, with only minor adaptions for inclusion in this manual. The Guile developers offer their thanks to the R6RS editors for having provided the report’s text under permissive conditions making this possible.
Note: The implementation of this R6RS API is not complete yet.
|• R6RS File Names:||File names.|
|• R6RS File Options:||Options for opening files.|
|• R6RS Buffer Modes:||Influencing buffering behavior.|
|• R6RS Transcoders:||Influencing port encoding.|
|• R6RS End-of-File:||The end-of-file object.|
|• R6RS Port Manipulation:||Manipulating R6RS ports.|
|• R6RS Input Ports:||Input Ports.|
|• R6RS Binary Input:||Binary input.|
|• R6RS Textual Input:||Textual input.|
|• R6RS Output Ports:||Output Ports.|
|• R6RS Binary Output:||Binary output.|
|• R6RS Textual Output:||Textual output.|
A subset of the
(rnrs io ports) module, plus one non-standard
unget-bytevector (see R6RS Binary Input), is
provided by the
(ice-9 binary-ports) module. It contains binary
input/output procedures and does not rely on R6RS support.