[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Clause 10, Expression Evaluation



Michel Hack (1-914-784-7648) <hack@xxxxxxxxxxxxxx> wrote:

I'm less familiar with Algol 68 than with Algol 60, but I wonder how
the latter's call-by-name would fit with the proposed attributes that
are based on static blocks.

Badly?

The issue that bothers me is that many languages will be in a position to
honour 754R in all its *individual* operations, but would be prevented
from claiming conformance because of a mismatch in global properties.

I agree.  And reproducibility and exception handling are global
properties, however you cut them.

To take just one example:  required WidenTo control.  The rationale for
this is that the C language flip-flopped on the issue.

`Flip-flop' implies a degree of predictability that C has abandoned.
Annex F does not specify what FLT_EVAL_METHOD is set to, and a value
of -1 is therefore allowed (i.e. indeterminate).  And, yes, that means
that every time an expression is evaluated, the system may choose
the method afresh.

That isn't a joke, either - I have used systems where it was the
case.  If you have an option between a serial FP unit with all
precisions and a SIMD one with only some, it isn't unreasonable to
use different choices according to the length of an array.  Been
there, had to explain that to users :-)


Regards,
Nick Maclaren,
University of Cambridge Computing Service,
New Museums Site, Pembroke Street, Cambridge CB2 3QH, England.
Email:  nmm1@xxxxxxxxx
Tel.:  +44 1223 334761    Fax:  +44 1223 334679

754 | revision | FAQ | references | list archive