[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
true-list type specifier
(defun foo (my-list)
(declare (list my-list))
(member 'my my-list))
and a compiler that has been told to turn off type-checking where
licenced by user declarations. One might assume that MEMBER need not
do a LIST check on each CDR of MY-LIST. But this is not the case, the
above declaration merely licences the compiler to assume that MY-LIST
is NIL or a CONS, but a type check should still be done on the CDR of
MY-LIST (when it is a CONS), and on its CDR, etc.
My question is: How does one declare that MY-LIST is a true list?
You're wrong here. The term "list" already means what you want
to call a "true list". See the definition on page 26.