The global variable eof is bound to the end-of-file value. The standard Scheme predicate eof-object? returns #t only when applied to this value. The predicate port? returns #t only for values for which either input-port? or output-port? returns #t.