Main Page | See live article | Alphabetical index


In computer programming, cdr (pronounced cudder) and car are a pair of primitive functions in Lisp and its best known offspring, Scheme.

The functions cdr and car are used to refer to the tail (cdr) and head (car) of a list:

(cdr '(A B C)) yields (B C)
(car '(A B C)) yields A

The names have their origin in the first implementation of Lisp on an IBM 704 computer. On the 704, an atom was represented by a single 36-bit machine word containing a so-called address part and a decrement part. Each of these parts had a length of 15 bits. The address part was used to point to the head of a list and the decrement part was used to address its tail. The functions used to extract either part of a machine word were called car (Contents of Address Register) and cdr (Contents of Decrement Register).

Portions from NILS' LISP PAGES -