Like the scanner, the reader returns either an end-of-file delimiter
or the actual object read. The end-of-file object is of type
eof, as defined in Section
. All other
values are elements of read
:
read : zodiac (object)
The reader's output is sub-divided into scalar and sequence
objects
:
scalar : read ()
sequence : read (length)
Most of these sub-types should be self-explanatory:
string : read ()
boolean : read ()
number : read ()
symbol : read (orig-name marks)
char : read ()
list : sequence (marks)
vector : sequence ()
improper-list : sequence (period marks)
In the case of scalar objects, the object fields are used by
parsers that perform hygienic macro-expansion
.