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. Andy -- http://wingolog.org/ _______________________________________________ Scheme-reports mailing list [email protected] http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports
