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

Re: Meeting the Scope and Purpose of P754



Comments of Michel Hack:

options to promote reproducibility".  The current text implies that
this can be achieved by attaching reproducibility constraints to a
"block", implying that anything within such a block would be covered.
Two things are wrong with this: (a) the notion of a static block may
not be applicable to the language

This is not a reproducibility issue, but a broader one within the standard:
various kinds of modes are intended to be attached to "blocks" as defined
in 2.2.4 (I would have preferred "region of program text" which has less
pre-existing baggage than "block").   2.2.4 defines "block" as a
language-defined syntactic unit for which a programmer can specify modes.

(For example, it does not make sense to require WidenTo control in
languages that already have well-defined type-coercion rules.)

I personally would be glad to trade the WidenTo modes specification 
for a simpler statement that a programmer shall have the ability to
select an expression evaluation
mode for a block that insures identical evaluation on all implementations,
for expressions which can be decomposed into sequences of clause 6
operations (the problem arises when expressions can be decomposed into
more than one such sequence, as in x + y + z or when wider intermediates
are possible).

However, widenTo has been in the draft for a long time, mostly independent
of the current reproducibility issues.

754 | revision | FAQ | references | list archive