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

Reply via email to