Proposal: Hexadecimal floating point constants

Simon Peyton-Jones simonpj at
Mon Feb 22 08:15:46 EST 2010

| > Similarly, the greatest finite double value can be written as
| > 0x1.fffffffffffffp+1023.
| >
| > These constants have the form
| >
| >   0x[HH][.HHHHH]p[+/-]DDD
| If you don't want to wait on an (uncertain) inclusion into the Haskell
| standard, you can implement a small helper function to that effect
| yourself; essentially using  encodeFloat .

Or, alternatively, use quasiquoting
	[hex| 1.fffffp+1023 |]

where 'hex' is a Haskell function that parses the string.

This has the advantage that you can use the constant in patterns too.

(In GHC 6.12 you have to say [$hex| 1.ffffp+1023 |], with a "$", but we're changing that for 6.14.  There's a thread on ghc-users about it.)


More information about the Haskell-prime mailing list