[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
Re: mapping 754R to specific languages
David Hough 754R work <754r@xxxxxxxxxxx> wrote:
So I assume that "block" would be interpreted in a
manner appropriate to a language if it applies at all, and if it does not
apply, one can always consider the entire program to be a "block" even when
the entire program may not exist yet when it starts (think Forth or Lisp).
In such languages, the "language-defined syntactic unit" might well be
the whole program.
It's a LOT worse than that in such languages! Consider POP II or some
of the LISPs, where there was/is no distinction between the operating
system and the language environment. The minimal "language-defined
syntactic unit" then becomes the time between reboots - or, in the
case where those systems are also Nx9s availability, the whole life
of the system!
the issue of static vs
dynamic scope may have essential implementability implications, which
is why I brought it up.
This doesn't have anything to do with reproducibility.
All modes could be static or dynamic language features,
and could be implemented with static or
dynamic types of hardware. What gets expensive is implementing a lot
of dynamic modes with static hardware, because that implies generating
many alternate sequences of code, of which one will be selected at run
time according to the dynamic modes in effect when called.
Again, it's a LOT worse than that. It creates absolute havoc in any
language which can (or is required to!) execute some of its code during
different phases, such as C++. And the effect on that morass is precisely
why it DOES have to do with reproducibility!
The most important performance consideration is that, when separate
compilation is possible, the possibility of dynamic modes has to be
declared, so the separately-compiled functions don't have to take
precautions if that declaration is absent.
Nope. That doesn't fly. Look at C++ for a counter-example.
The forerunner of reproducibility is the extended rounding precision mode
of 754. It wasn't enough to do the job however.
Boggle. Exactly WHAT does extended precision have to do with
reproducibility?
Reproducibility, as understood by the application programmer, might be
implemented by exploiting various hardware features behind the scenes.
Like the DWIM or TICWH[*] instructions, as I have posted before?
Look, if you want ANY reduction in the hostility to ANY introduction
of a reproducibility requirement, you will first have to demonstrate
that it could be added to the specification of at least one important,
tricky language - like C++ or Fortran, not Java - in such a way that
it makes it possible to implement, possible to write code to and
comprehensible to a moderate expert.
So far, there is no evidence that this can be done, and several of us
don't think that it can be.
[*] Test If Code Will Halt.
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