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