5.6 Modifying Existing List Structure
You can modify the CAR and CDR contents of a cons cell with the primitives setcar
and setcdr
. These are destructive operations because they change existing list structure. Destructive operations should be applied only to mutable lists, that is, lists constructed via cons
, list
or similar operations. Lists created by quoting are part of the program and should not be changed by destructive operations. See Mutability.
Common Lisp note: Common Lisp uses functions
rplaca
andrplacd
to alter list structure; they change structure the same way assetcar
andsetcdr
, but the Common Lisp functions return the cons cell whilesetcar
andsetcdr
return the new CAR or CDR.
• Setcar |   | Replacing an element in a list. |
• Setcdr |   | Replacing part of the list backbone. This can be used to remove or add elements. |
• Rearrangement |   | Reordering the elements in a list; combining lists. |