Again many thanx for Dr. Jean … (thinking about the great Dr. John that maybe some of you guys, and some of you gals know)…
One very simple example i may add, for lispers :
The setf macro. very destructive. And again very simple :
Let’s take toto as a variable. We can assign a list to toto like this :
(setf toto '(1 2 3 4))
if evaluated, this expression will return :
OM > (1 2 3 4)
Now just evaluate toto :
toto
OM > (1 2 3 4)
Now let’s use something funny, the pop macro. Just like popcorn it will remove (pop) the first elmt of any list (the car of a list). So :
(pop toto)
will return the “popped” elemt
OM > 1
Now let us “inspect” toto by just evaluating toto. this will give us :
OM > (2 3 4)
So toto changed. It was popped ! [you can repeat the pop as long as you want)…
This could illustrate a destructive proceedure in CommonLisp.
Hope this was fun and not too boring for you guys and gals !
Goodnite, and may the Lisp be with you!

K