Andrew Pochinsky scripsit: > Note: In contrast to other dialects of Lisp, the order of evaluation > is unspecified, and the operator expression and the operand > expressions are always evaluated with the same evaluation rules.
You've misinterpreted this language. It sets Scheme off from other Lisps that treat the operator and its operands differently. For example, in Common Lisp the operator must be either a literal function name or an explicit lambda; it cannot be an ordinary variable name, a function call, or any other sort of expression. (If you need to call a function not known at compile time, you use the FUNCALL function.) So what is meant is "The operator expression is always evaluated with the same evaluation rules as the operand expressions. > Note: Although the order of evaluation is otherwise unspecified, the > effect of any concurrent evaluation of the operator and operand > expressions is constrained to be consistent with some sequential order > of evaluation. The order of evaluation may be chosen differently for > each procedure call. That means that evaluation of the expressions cannot be interleaved. -- What has four pairs of pants, lives John Cowan in Philadelphia, and it never rains http://www.ccil.org/~cowan but it pours? [email protected] --Rufus T. Firefly _______________________________________________ r6rs-discuss mailing list [email protected] http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss
