<div dir="ltr">Nicely done!  I agree that this would be much nicer to just implement directly in GHC (and eventually add to the standard). Would you like to write it up as GHC proposal?<div><br></div><div>Here is info on how to do that:<div><div><a href="https://github.com/ghc-proposals/ghc-proposals">https://github.com/ghc-proposals/ghc-proposals</a><br></div></div></div><div><br></div><div>-Iavor</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Jan 14, 2017 at 3:06 PM, Levent Erkok <span dir="ltr"><<a href="mailto:erkokl@gmail.com" target="_blank">erkokl@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Quick update: version 0.2 of FloatingHex is now on hackage <span style="font-size:12.8px">(</span><a href="http://hackage.haskell.org/package/FloatingHex" style="font-size:12.8px" target="_blank">http://hackage.<wbr>haskell.org/package/<span class="m_-307388817001376942gmail-il">FloatingHe<wbr>x</span></a><span style="font-size:12.8px">) which fixes a few glitches and makes the pretty-printer compatible with C's %a modifier. This brings the support on par with that in C/C++. The quasi-quoter is called qf, and the pretty-printer is called showHFloat, following the naming of other float-printers already available.</span></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Jan 14, 2017 at 1:10 AM, Levent Erkok <span dir="ltr"><<a href="mailto:erkokl@gmail.com" target="_blank">erkokl@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">FloatingHex (<a href="http://hackage.haskell.org/package/FloatingHex" target="_blank">http://hackage.haskell.org/pa<wbr>ckage/FloatingHex</a>) is a simple package that implement hexadecimal notation for floating point numbers, as described in p57-58 of <a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1256.pdf" target="_blank">http://www.open-std.org/jtc<wbr>1/sc22/wg14/www/docs/n1256.pdf</a><div><br></div><div>The package provides a quasi-quoter for hexadecimal floats: hf, and a pretty-printer for floats to show them in this notation: showFFloat. (Note that the latter is not 100% compatible with C's %a modifier for printf, but it does render a faithful representation of its input.)</div><div><br></div><div>Hex-floats are useful as they allow writing floating-point constants without any loss of precision, while remaining human readable. For instance, the float 2 is written as 0x1p1. (With the quasiquoter, the syntax is [hf|0x1p1|].) This representation is to be preferred over decimal rendering where loss of precision can be a problem: Note that not all floating point numbers have a terminating decimal representation as currently required by the Haskell syntax.</div><div><br></div><div>It would be nice if Haskell itself allowed for such literals in the language specs itself, following the recent changes to other language standards. (Again, see p57-58 of <a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1256.pdf" target="_blank">http://www.open-std.org/jtc<wbr>1/sc22/wg14/www/docs/n1256.pdf</a> for the new C standard.) In the mean time, I hope FloatingHex library will provide a workaround for the numerophilias amongst us.</div><div><br></div><div>Bug reports and improvements always welcome!</div><div><br></div><div>Cheers,</div><div><br></div><div>-Levent.</div><div><div><br></div><div><br></div></div></div>
</blockquote></div><br></div>
</div></div><br>______________________________<wbr>_________________<br>
Haskell-Cafe mailing list<br>
To (un)subscribe, modify options or view archives go to:<br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-<wbr>bin/mailman/listinfo/haskell-<wbr>cafe</a><br>
Only members subscribed via the mailman list are allowed to post.<br></blockquote></div><br></div>