What kind of a structure can the cadr procedure be applied
to? What must its operand look like?
The operand must be a pair in which the second component is also a pair.
Which of the elements of such a structure does cadr
return?
It returns the first component of the second component of its operand:
What happens if the structure has the wrong shape?> (define example-1 (cons #f (cons #t #f))) > (cadr example-1) #t > (define example-2 (cons (cons 1 2) (cons 3 4))) > (cadr example-2) 3
It is an error, so under most implementations the program crashes:
> (cadr (cons (cons 1 2) 3)) ERROR: cadr: Wrong type in arg1 3
Next topic
Next major topic
Previous topic
Table of contents
This document is available on the World Wide Web as
http://www.math.grin.edu/~stone/scheme-web/cadr.html