[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

No No! Flush it!!



I wasn't sure whether I was kidding or not originally.  I took a poll of
those Lisp programmers who just happened to be here in the building, and
recieved the mixed reviews you might expect.  (Everything from "I like it!
I like it!" to "You're crazy Bawden, it's a total loss", about evenly
split.)

I think I am now convinced that the idea could fly.  BUT...  I took a close
look at the SETF method protocol documented on page 80 of the manual, and I
believe that the mechanism is not powerful enought to cover a case like
this one.  It says:

   "The value returned by the accessing form is (of course) affected by
    execution of the storing form, but otherwise either of these forms may
    be evaluated any number of times, and therefore should be free of side
    effects (other than the storing action of the storing form)."

All implementations that I have seen of this so far, including my own
original one, have the property that they depend on this clause of the
contract of a SETF method.  I don't see how to implement SETF of POP
without violating this clause.  I DO think that I could redesign this stuff
to handle this case, but I DON'T think Common Lisp should consider this
extension at this time.

You can all relax now.