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

Re: [Scheme-reports] Multiple values in BEGIN

Andre van Tonder writes:
> On Fri, 6 May 2011, John Cowan wrote:
> > Ian Price scripsit:
> >
> >> "The continuations of all non-final expressions within a sequence of
> >> expressions, such as in lambda, begin, let, let*, letrec, letrec*,
> >> let-values, let*-values, case, and cond forms, usually take an
> >> arbitrary number of values."
> >
> > Ticket filed.
> Only non-final expressions, though?
> I don't like that restriction, because equivalence of the following two 
> expressions should be to me a fundamental property of BEGIN:
>    (begin
>      (begin
>        exp1)
>      exp2))
> and
>    (begin
>      exp1
>      exp2)
> But with ths stated restriction, they are not equivalent.

What difference do you see? These seem equivalent to me whether or not
the non-final expressions in a sequence are required to return exactly
one value.

I would like any number of values allowed, as in R6RS. (I don't know
why it says "usually".)

Scheme-reports mailing list