DELETE ist destruktiv - aber nicht immer?

Ich bin ein wenig verwirrt über Common Lisps destruktive DELETE-Funktion. Es scheint wie erwartet zu funktionieren, außer wenn das Element das erste Element in der Liste ist:

CL-USER> (defvar *test* (list 1 2 3))
*TEST*
CL-USER> (delete 1 *test*)
(2 3)
CL-USER> *test*
(1 2 3)
CL-USER> (delete 2 *test*)
(1 3)
CL-USER> *test*
(1 3)

Antworten auf die Frage(3)

Ihre Antwort auf die Frage