Jump to content

Lisp reader

From Wikipedia, the free encyclopedia

This is the current revision of this page, as edited by David Eppstein (talk | contribs) at 04:46, 6 January 2017 (David A. Moon). The present address (URL) is a permanent link to this version.

(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)

In the programming language Lisp, the reader or read function is the parser which converts the textual form of Lisp objects to the corresponding internal object structure.

In the original Lisp, S-expressions consisted only of symbols, integers, and the list constructors ( xi... ) and (x . y). Later Lisps, culminating in Common Lisp, added literals for floating-point, complex, and rational numbers, strings, and constructors for vectors.

The reader is responsible for parsing list structure, interning symbols, converting numbers to internal form, and calling read macros.

Read table[edit]

The reader is controlled by the readtable, which defines the meaning of each character.

Read macros[edit]

Unlike most programming languages, Lisp supports parse-time execution of programs, called "read macros" or "reader macros". These are used to extend the syntax either in universal or program-specific ways. For example, the quoted form (quote x) operator can be abbreviated as 'x. The ' operator can be defined as a read macro which reads the following list and wraps it with quote. Similarly, the backquote operator (` ) can be defined as a read macro.

References[edit]

Bibliography[edit]