The specification for `and' notes that "If all the expressions evaluate
to true values, the value of the last _expression_ is returned." This is
not the case: as the last _expression_ is in tail context, the _values_ of
the last _expression_ are returned. Same with `or', `when', and
`unless'.
Contrary to their specifications and the "differences from r6rs"
appendix, the return value of `when' and `unless' is indeed specified if
the body is evaluated, as the body is in tail position.
_______________________________________________ Scheme-reports mailing list Scheme-reports@x http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports