[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
function-type-rest-list-element (really array types)
- To: Ram@c.cs.cmu.edu
- Subject: function-type-rest-list-element (really array types)
- From: Jon L White <edsel!jonl@labrea.Stanford.EDU>
- Date: Tue, 1 Mar 88 14:05:25 PST
- Cc: cl-cleanup@sail.stanford.edu, Moon@scrc-stony-brook.arpa, vanroggen%aitg.decnet@hudson.dec.com
- In-reply-to: Ram@C.CS.CMU.EDU's message of Tue, 1 Mar 1988 16:08 EST <RAM.12378932724.BABYL@>
re: My idea is that TYPEP automatically "upgrade" its type
argument to the corresponding "implementation type", i.e. a type
actually supported by the implementation. . . .
There are two problems with respect to typep. Consider arrays made by
(MAKE-ARRAY <n> :element-type '<foo>)
then:
1. (TYPEP <array> '(ARRAY <foo>)) frequently fails for such arrays
2. (TYPEP (AREF <array> <n>) '<foo>) frequently fails for such arrays
These are two separate problems, and as I read your comments about having
TYPEP do the "upgrading", I think they apply only to case (1), right?
This may be another way of trying to say that
`(ARRAY FOO)
is type equivalent to
`(ARRAY ,(upgrade array-element-type 'foo))
re: I think that analogies with the FIXNUM/INTEGER are flawed: FIXNUM has
is a precisely defined concept within the language:
`(integer ,most-negative-fixnum ,most-positive-fixnum)
See my comments in the previous note about a "pyrrhic success".
-- JonL --