eof-object? - test if an object is the end-of-file object
LIBRARY
(import (rnrs)) ;R6RS
(import (rnrs io ports)) ;R6RS
(import (rnrs io simple)) ;R6RS
(import (scheme r5rs)) ;R7RS
(import (scheme base)) ;R7RS
SYNOPSIS
(eof-object? obj)
DESCRIPTION
Returns
#t
if
obj
is an end-of-file object, otherwise returns
#f.
The end-of-file object is returned by various I/O procedures
when they reach end of file.
RETURN VALUES
Returns a single boolean object.
EXAMPLES
(eof-object? (eof-object))
=> #t
(eof-object? #\space)
=> #f
APPLICATION USAGE
This procedure is used on the result of I/O read operations, such as
read(3scm),
to see if the port has an end-of-file condition. It also appears in
the context of generators (e.g. SRFI 158).
COMPATIBILITY
There is a slight difference between R6RS and the other reports.
- R4RS, IEEE Scheme, R5RS, R7RS
-
The precise set of end-of-file objects will vary among
implementations, but in any case no end-of-file object will
ever be an object that can be read in using
read.
No object which satisfies this predicate satisfies any of
these predicates:
boolean?,
bytevector?,
char?,
null?,
number?,
pair?,
port?,
procedure?,
string?,
symbol?,
vector?,
or any record type predicate.
- R6RS
-
There is a unique end-of-file object. (This also satisfies the R7RS
requirements).
ERRORS
This procedure can raise exceptions with the following condition types:
- &assertion (R6RS)
-
The wrong number of arguments was passed.
- R7RS
-
The assertions described above are errors.
Implementations may signal an error, extend the procedure's
domain of definition to include such arguments,
or fail catastrophically.
SEE ALSO
eof-object(3scm)
STANDARDS
R4RS,
IEEE Scheme,
R5RS,
R6RS,
R7RS
HISTORY
This procedure was unchanged in Scheme from R2RS (AI Memo No.~848,
1985) until R6RS, which is when the end-of-file object become a unique
object for the first item. R7RS branched off from R5RS and did not
adopt the R6RS semantics for this object.
LISP 1.5 had an end-of-file character that printed as
$EOF$
and an end-of-record character that printed as
$EOR$.
PDP-10 MacLISP had an optional other argument to
read
that let the program specify its own end-of-file object. Scheme before
R2RS would have used this implementation of
read.
AUTHORS
This page is part of the
scheme-manpages
project.
It includes materials from the RnRS documents.
More information can be found at
https://github.com/schemedoc/manpages/
.
Markup created by unroff 1.0sc, March 04, 2023.