rest
list ⇒ tail
(setf (rest
list) new-tail)
list | a list, which might be a dotted list or a circular list. |
tail | an object. |
rest performs the same operation as cdr, but mnemonically complements first. Specifically,
(rest list) ≡ (cdr list)
(setf (rest list) new-tail) ≡ (setf (cdr list) new-tail)
(rest '(1 2)) ⇒ (2)
(rest '(1 . 2)) ⇒ 2
(rest '(1)) ⇒ NIL
(setq *cons* '(1 . 2)) ⇒ (1 . 2)
(setf (rest *cons*) "two") ⇒ "two"
*cons* ⇒ (1 . "two")
rest is often preferred stylistically over cdr when the argument is to being subjectively viewed as a list rather than as a cons.