Greetings! This is my understanding too, and general goal that the
compiler should follow. Whether we achieve this is of course another
matter entirely, especially as most everyone runs at safety 0 leaving
safety 3 with little feedback.
Take care,
Robert Boyer <address@hidden> writes:
I should add the following.
I think it is generally accepted rule of thumb in the Common Lisp community
that if you compile and execute with SAFETY = 3, then your Lisp job will not
die some horrible death (e.g., with a segmentation violation) because someone
did an RPLACA or a SETF-AREF on some garbage, and thereby randomly zapped
memory. Another way of thinking about this is that at SAFETY = 3, life is
almost as nice as it always was on a Lisp machine.
I do not think that the ANSI standard in any way requires this "rule of
thumb". Maybe it should. Maybe the authors thought it did. But I can't
find it in writing and would happy if you told me where to look.
Bob