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

mv-call



I guess my real disagreement with mv-call is that I don't like to see it
used with more than one form.  I have explained before that the mv-call
with many forms has the effect of concatenating together the returned
values of many forms, which is something that I cannot possibly imagine
wanting to do, givn the way we use multiple values in practice today.  (I
CAN see it as useful in a completely different programming style that is so
far unexplored, but this is a standardization effort, not a language
experiment, and so I don't think that's relevant.)  This was my original
objection to mv-call.

RPG's message about mv-call shows how you can use it with only one form to
get the effect of the new-style lambda-binding multiple-value forms, and
that looked attractive.  But I still don't like the mv-call form when used
with more than one form.

I do not for one moment buy the "analogy with funcall" argument.  I think
of funcall as a function.  It takes arguments and does something with them,
namely , aply the firsrt to the rest.  mv-call is most certainly not a
function: it is a special form.  I think that in all important ways,
what it does is different in kind and spirit from funcall.  Now, I realize
that this is a matter of personal philosophy, and you may simply not feel
this way.

Anyway, I still don't want to make trouble.  So while I'd prefer having
mv-call only work with one form, and then to have the order of its subforms
reversed, I'll go along with the existing proposal if nobody supports me.