[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
THE VALUES
- To: common-lisp@SU-AI.ARPA
- Subject: THE VALUES
- From: Rob MacLachlan <RAM@C.CS.CMU.EDU>
- Date: Wed, 23 Jul 1986 13:50:00 -0000
- In-reply-to: Msg of 21 Jul 1986 21:46-EDT from Scott E. Fahlman <Fahlman>
Well, I think everyone is wrong about this one. (THE (VALUES ...) ...)
specifies the functional type of the continuation. This is in effect
what CLTL already says: "...indicates the parameter list of a function
that, when given to multiple-value-call along with the values, would
be suitable for receiving those values."
I strongly disagree with any proposal which gives THE mandatory
run-time semantics. THE is a declaration --- its presence should not
change the meaning of a correct program. If the form returns too many
values, then the program is in error and the result is undefined.
I agree that it is highly desirable to be able to specify the
type of the first value without worrying about the actual number of
values. To this end, I propose that (THE FOO ...) should be
synonomous with the (THE (VALUES FOO &REST T) ...). This allows one
to say things like (THE FIXNUM (TRUNCATE ...)).
It should also be clarified that the VALUES type specifier may
have &ALLOW-OTHER-KEYS.
Rob
- Follow-Ups:
- THE VALUES
- From: David C. Plummer <DCP@QUABBIN.SCRC.Symbolics.COM>