Version 6 (not shown here) is what passed.It was modified by amendment to strike everything in the
proposal section except for the first paragraph.
v6 is the one that passed.
-kmp (Aug 89)
-----
Issue: EXTRA-RETURN-VALUES
References: Chapter 1, Section 1.5, Working draft of standard
Category: Clarification
Edit history: 8-JAN-89, Version 1 by Masinter
3-FEB-89, Version 2 by Chapman
10-MAR-89, Version 3 by Chapman
30-MAY-89, Version 4 by Pierson
20-JUN-89, Version 5 by Chapman
Problem: Is it OK to return extra values from Common Lisp functions?
Proposal: EXTRA-RETURN-VALUES:NO
A function that is specified by the standard must return EXACTLY the number
of return values specified by the standard.
The following functions are explicited permitted to have additional
return values:
read
listen
prin1-to-string
format
open
directory
describe
Rationale:
The reason is that additional arguments are visible to otherwise
portable programs. For instance, (multiple-value-call #'cons (floor x
y)) looks portable, but it will try to pass the wrong number of
arguments to CONS if FLOOR returns an extra value.
The order of the above list is by page number in CLtL.
Current Practice:
At least one implementation returns extra values for certain functions
not currently specified to return those values.
Adoption Cost:
Implementations and their associated documentation that now contain
functions that return extra values will have to change.
Benefits:
Programs will potentially become more portable.
Conversion Cost:
See Adoption Cost.
Aesthetics:
None.
Discussion:
Pierson created the original list, Moon revised the list.
Moon says:
"The ones that I care the most about are gethash and read-line."