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

Issue: LIST-TYPE-SPECIFIER (Version 1)

   Date: 17 Sep 88 15:17 PDT
   From: masinter.pa@Xerox.COM

   While this seems to be useful functionality, there is a difference between the
   LIST type specifiers and the ARRAY type specifiers in that the type of a LIST
   object is mutable, e.g.,

   (typep x '(list number))
   (setf (car y) t)
   (typep x '(list number))

   is false, while normally, for built in type designators that do not involve
   SATISFIES, no side effect operation (other than changing the direct binding of
   X) can affect the value of TYPEP for that binding.

If there is going to be an element-type-specialized LIST type
specifier, it should be handled in the same way as
element-type-specialized ARRAY type specifiers.  Conceivably, an
implementation could have a special CONS type whose CARs could only
contain elements of a certain type, if such list type specifiers
existed.  Isn't there an outstanding cleanup issue regarding array
types?  Can you send out the latest version?