7 ms·
CDR is the "input" to CADR and the result is CAR?
by gm-conspiracy 9y ago
CDR is the "input" to CADR and the result is CAR?
- ball_of_lint 9y agoNot exactly, cadr is what you would get if you called CDR on a list, then car on the result of that. Lisp has several of these types of chains. Since cdr always returns a list, to get a single item you would need to call car on it, therefore cadr.
- ambulancechaser 9y agosomeone mentioned it earlier but it's not true that cdr always returns a list, for instance, `(cdr `(1 . 2))`
- kaushalmodi 9y agoIf you have a list `(Odyssey Model-S)`, `car` will be `Odyssey`, `cdr` will be a list `(Model-S)`. You yet need to do a `car` on that.. So `(car (cdr ..))` will give you `Model-S`. `(cadr ..)` is short for `(car (cdr ..))`.