Specific denotations for pure types

Achim Schneider barsoap at web.de
Tue Mar 24 08:36:01 EDT 2009

Duncan Coutts <duncan.coutts at worc.ox.ac.uk>

> The question is what should we do about it, if anything? A certain
> amount of machine dependent behaviour would seem to be useful. Even
> machine-dependent Int it's not in the H98 standard, implementations
> would want to add it as an efficiency extension and then we're back to
> the same place because one machine-dependent type infects all types.
I think defining a platform-independent core would be useful, not only
from an engineering perspective. Having the semantics defined for the
bulk of the language is better than having none or an unnecessarily
complex one. If you then really want to, you can always instantiate the
semantics to the platform you're using, adding Int and friends, but
not delving down into the MachineInfo -> realm, which no implementation
is going to use, anyway: I've yet to see a Haskell implementation that
allows one program to be run across multiple processors of e.g.
different bitsizes, and if it existed, it'd most likely limit any
sane use to that platform-independent core.

Thinking about GPU's, different FPE exception models and all that punk,
I guess we'd have CReal as platform-independent, IEEEFloat/IEEEDouble
as platform-independent-as-long-as-you-don't-blow-them-up, and
Float/Double as not even necessarily providing IEEE semantics.

(c) this sig last receiving data processing entity. Inspect headers
for copyright history. All rights reserved. Copying, hiring, renting,
performance and/or quoting of this signature prohibited.

More information about the Haskell-prime mailing list