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

Multiple-value SETQ/RETURN

There may not be any need to worry about what to do about multiple
values and PROG1.  When Moon and I made multiple values work
consistently on the Lisp machine, we decided that it was reasonable
for PROG1 not to return multiple values, interpreted or compiled.

Only the last subform in a construct ever passes back multiple values
on the Lisp machine.  So we have a consistent scheme for what things
return multiple values, and as part of this scheme, PROG1 does not.
Because this does fit into a consistent scheme, it shouldn't be called
"incorrect implementation" or "failing to work"

I'm not trying to say this is the ONLY consistent design.
It might be possible to design another consistent scheme in which
PROG1 would return multiple values, and that scheme might or might not
be preferable, but if it were preferable it would be at most a minor
improvement.  You might choose to implement such a scheme if it were
easy to do, but it would not be worth working hard for.