|(require (planet cce/scheme:7:7/port))|
This module provides tools for port I/O.
(read-all [reader port]) → list? reader : (-> any/c) = read port : input-port? = (current-input-port)
This function produces a list of all the values produced by calling (reader) while current-input-port is set to port, up until it produces eof.
(read-all-syntax [reader port]) → (syntax/c list?) reader : (-> (or/c syntax? eof-object?)) = read port : input-port? = (current-input-port)
This function produces a syntax object containing a list of all the syntax objects produced by calling (reader) while current-input-port is set to port, up until it produces eof. The source location of the result spans the entire portion of the port that was read.
(port->srcloc port [source span]) → srcloc? port : port? source : any/c = (object-name port) span : exact-nonnegative-integer? = 0
Produces a srcloc structure representing the current position of a port, using the provided source and span values to fill in missing fields. This function relies on port-next-location, so line counting must be enabled for port to get meaningful results.
This function reads all immediately available bytes from a port and produces a byte string containing them. If there are no bytes available and the port is known to have no more input, it produces eof; if there are none available but the port may have more input, it produces an empty byte string. This procedure never blocks to wait for input from the port.