Proposal: New Eq and Ord instances for Double and Float

Tyson Whitehead twhitehead at gmail.com
Fri Nov 11 19:25:40 CET 2011


On November 10, 2011 11:48:33 Simon Marlow wrote:
> On 10/11/2011 16:28, Roman Leshchinskiy wrote:
> > I would, of course, expect the RTS to convert the processor exception to
> > a Haskell exception!
> 
> You have high expectations :-)  I don't think it's possible to do that
> without some very low-level platform-specific and processor-specific
> hacking, which is why for example we have the current software test for
> divide-by-zero.  You basically get a signal and have to grovel around in
> the thread's registers and stack to recover the situation, and the
> exception could be thrown from *anywhere*.

Historically some processors have also made these exceptions imprecise as 
faster execution can be produced by not having the pipeline be constrained by 
the requirement to roll earlier stage effects back if an exception is raised.

http://books.google.ca/books?id=GumAeql5KPkC&pg=SA4-PA69&lpg=SA4-
PA69&dq=alpha+imprecise+traps

While software barriers can be inserted to make it possible to pin exceptions 
down to greater degrees (see -mtrap-precision), it costs you performance.

http://gcc.gnu.org/onlinedocs/gcc/DEC-Alpha-Options.html

Cheers!  -Tyson



More information about the Libraries mailing list