car y cdr son operaciones primitivas sobre las celdas cons (o "expresiones S no atómicas") introducidas en el lenguaje de programación Lisp.
Lisp fue implementado originalmente en el computador IBM 704, a finales de los años 1950.
En Lisp, (cadr '(1 2 3)) es equivalente a (car (cdr '(1 2 3))); su valor es 2 (el primer elemento del resto de (1 2 3) ).
Particularmente en lenguajes tipeados, las listas, pares, y los árboles todos tienen diferentes funciones de acceso con firmas de tipo diferentes: en Haskell, por ejemplo, el car y cdr se convierten en fst y snd cuando se trata de un tipo par.
Analogías exactas del car y cdr son, por lo tanto, raras en otros lenguajes.