(j3.2006) Fw: a question on MERGE and expression evaluation

Dan Nagle dannagle
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.


Dan Nagle

More information about the J3 mailing list