Re: Community preference so far? taylanbayirli@xxxxxx 30 Sep 2015 09:46 UTC

Alex Shinn <xxxxxx@gmail.com> writes:

> On Wed, Sep 30, 2015 at 5:56 PM, Taylan Ulrich Bayırlı/Kammer
> <xxxxxx@gmail.com> wrote:
>
>     I don't see how MV are "broken." It just seems like slander used
>     by those who dislike their semantics. :-)
>
> You and Alan Bawden both seem to dislike their current semantics:
>
> https://groups.google.com/d/msg/comp.lang.scheme/dKdd_jmYyFA/Q9eo7AQkBgAJ

Nope, that's the semantics of set!, foo-set!, display, etc., not the
semantics of multiple values per se.

And what I dislike about the semantics of those forms is precisely that
they don't utilize MV returns sufficiently; they could return zero
values, which is semantically very intuitive and gives good
error-catching, and instead they're forced to return one value.

> I dislike MV because they complicate the semantics of Scheme,
> breaking compositionality. You can no longer write wrappers
> like memoize, trace, time, etc. without preparing to capture an
> arbitrary number of values, which is slow.

That is indeed an unfortunate issue, but the very same issue exists for
multiple arguments received by a procedure, for which you need to
allocate a rest-arguments list.

> But I've argued this a million times and have no interest in
> continuing the debate.

OK, let's just agree to disagree and say there are pros and cons of
subjective weight.

Taylan