[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
New version of FUNCTION-TYPE-REST-LIST-ELEMENT proposal
- To: sandra%orion@cs.utah.edu
- Subject: New version of FUNCTION-TYPE-REST-LIST-ELEMENT proposal
- From: Kent M Pitman <KMP@STONY-BROOK.SCRC.Symbolics.COM>
- Date: Sun, 7 Feb 88 15:07 EST
- Cc: cl-cleanup@sail.stanford.edu
- In-reply-to: <8801152126.AA12191@orion.utah.edu>
My preference is for EXTEND-LIST-TYPE because:
* I'm afraid USE-ACTUAL-ARGUMENT-TYPE will get us into trouble somehow.
* I find it bothersome that the same argument declarations which are
used internally in the function would not be be usable externally.
* I think it's unfair to provide only this special-purpose way of
declaring a sequence type when in fact there are numerous other places
in the language where it might be useful to declare a sequence type.
If we did go with USE-ACTUAL-ARGUMENT-TYPE, it should be stated explicitly
(if it is not already in CLtL somewhere) that the following is illegal:
(DEFUN FOO (&REST X) X)
(APPLY #'FOO T)
since there will be no way to type-declare this. Even though this is an
obscure case (that doesn't even work in some implementations), it's the
sort of thing that makes me queasy about USE-ACTUAL-ARGUMENT-TYPE.
I'm content to have the proposal presented as USE-ACTUAL-ARGUMENT-TYPE
and I expect that will pass, but I want to be listed as dissenting.