[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.

Regards,
Ian

_______________________________________________
Scheme-reports mailing list
Scheme-reports@x
http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports