Greetings wranglers of the lambda calculus,

Quoth the R6:

    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.

Question 1: "Usually"?

Question 2: Why the change from R5, which sayeth:

    Except for continuations created by the `call-with-values'
    procedure, all continuations take exactly one value.

Question 3: Does anyone's Scheme, R5 or R6, error with the following:

    (define (nothing) (values))
    ((lambda () (nothing) 1))

This seems to be equal to 1 with R6, and undefined in R5. Of special
interest are those schemes that do not construct compound objects for
multiple value returns.

Thank you for any insight,

Andy
-- 
http://wingolog.org/

_______________________________________________
r6rs-discuss mailing list
[email protected]
http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss

Reply via email to