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

Re: [Scheme-reports] Multiple values in BEGIN

Andre van Tonder <andre@x> 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?
The specification for begin in the R5RS, R6RS, and the current draft
report already permit multiple values in the final expression. I didn't
mean to imply that it should be otherwise.

> 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.
I agree they should be equivalent.


Scheme-reports mailing list