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

Re: Proposed mildly incompatible change to MULTIPLE-VALUE(-BIND)



As it happens, the MacLISP implementation of Multiple-values does a
quick, 1-instruction-in-compiled-code check for too-few returned
values, and if so, then merely calls a function which defaultly
padds out the return-value-vector with nulls;  the LISP RECENT
note announcing that feature mentions how a user can switch it
to other actions, such a complaining about mismatch, etc.
There would be virtually no penalty for implmenting your "mildly
incompatible suggestion" in that code.  However, I tend to agree
with he comment made by Moon 
"The reason it has never been accepted is that in practice most functions 
 which return multiple values rely on the feature that extra values the
 caller does not want are thrown away."
So it would be somewhat of a burden to make the change now; primarily because 
of the backwards-compatibility mess, rather than the implementational problems.