Language standards for LispOS

Chris Bitmead uid chris.bitmead@Alcatel.com.au
Thu, 22 May 1997 09:32:37 +1000


>We're not talking about natural cell mutation (which does only matter for
>biology), but about the type CONS and (SETF (CAR X) Y) as defined in the
>ANSI Common Lisp specification. In that context, what you write is just
>_wrong_, even if some implementation happens to protect you from crashing
>the system with such _errors_. The precondition for (SETF (CAR X) Y) is
>_not_ just (CONSP X), but (AND (CONSP X) (MUTABLEP X)), where (MUTABLEP X)
>means that mutation of X is allowed, as specified for ANSI Common Lisp.

I'm not familar with this mutablep thingy. Under what circumstances
does common lisp specify that a cons cell is immutable?