(j3.2006) Fw: a question on MERGE and expression evaluation
Fri Nov 19 14:44:59 EST 2010
On Nov 19, 2010, at 1:55 PM, Richard hendrickson wrote:
> A few years before F2008 was finalized, I spent some time proposing an ANDTHEN and ORLSE set of intrinsics that would do argument evaluation guaranteed left-to-right and stop evaluating when they hit a FALSE or TRUE respectively. I don't remember all of the reasons they were dropped, but at least part of it was "this is a whole new set of restrictions on function argument evaluation."
> Dick Hendrickson
IIRC, there were a whole range of proposals made in Delft.
There were "chooser" functions and/or operators.
We also discussed andthen and orelse operators.
The "chooser" proposals could not proceed due to disagreement
over whether it should be a function or an operator. The function would involve
a new attribute for procedure arguments. The operators would have three arguments.
We don't have any such now. So a lot of invention was involved either way.
The andthen / orelse proposals failed to resolve the precedence
the operators should have. One camp wanted the same as and and/or or, respectively,
so changing the current operators to the new would be relatively easy.
The other camp wanted just above user defined binary operators
on the grounds that either might be silently replacing a user-named operator
of the same name in working code.
In both cases, the lack of a specific proposal from a unified group
meant that the week ended before a definite proposal had succeeded.
All the above is IIRC, of course.
More information about the J3