Go to the first, previous, next, last section, table of contents.


Introduction to Reading and Printing

Reading a Lisp object means parsing a Lisp expression in textual form and producing a corresponding Lisp object. This is how Lisp programs get into Lisp from files of Lisp code. We call the text the read syntax of the object. For example, the text `(a . 5)' is the read syntax for a cons cell whose CAR is a and whose CDR is the number 5.

Printing a Lisp object means producing text that represents that object--converting the object to its printed representation (see section Printed Representation and Read Syntax). Printing the cons cell described above produces the text `(a . 5)'.

Reading and printing are more or less inverse operations: printing the object that results from reading a given piece of text often produces the same text, and reading the text that results from printing an object usually produces a similar-looking object. For example, printing the symbol foo produces the text `foo', and reading that text returns the symbol foo. Printing a list whose elements are a and b produces the text `(a b)', and reading that text produces a list (but not the same list) with elements a and b.

However, these two operations are not precisely inverses. There are three kinds of exceptions:


Go to the first, previous, next, last section, table of contents.