Most Lisps specify an order of evaluation for procedure arguments. Scheme does not. Order of evaluation—including the order in which the expression in the operator position is evaluated—may be chosen by an implementation
that is why.
Name:
Anonymous2012-06-26 19:40
procp1 = (inta, b)real : (a > b | xx | yy) procp2 = (reala; realb)real : (a > b | stop)
Algol lets the programmer choose. If the parameters are separated by commas, they're elaborated collaterally ("at the discretion of the implementer" possibly in parallel). If the parameters are separated by semicolons, they're elaborated serially (left to right).