![[HARLEQUIN]](../Graphics/Harlequin-Small.gif)
![[Previous]](../Graphics/Prev.gif)
![[Up]](../Graphics/Up.gif)
![[Next]](../Graphics/Next.gif)
Syntax:
rest list => tail
(setf (rest list) new-tail)
Arguments and Values:
list---a list, which might be a dotted list or a circular list.
tail---an object.
Description:
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)
Examples:
(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")
Side Effects: None.
Affected By: None.
Exceptional Situations: None.
See Also:
Notes:
rest is often preferred stylistically over cdr when the argument is to being subjectively viewed as a list rather than as a cons.
![[Starting Points]](../Graphics/Starting-Points.gif)
![[Contents]](../Graphics/Contents.gif)
![[Index]](../Graphics/Index.gif)
![[Symbols]](../Graphics/Symbols.gif)
![[Glossary]](../Graphics/Glossary.gif)
![[Issues]](../Graphics/Issues.gif)