<div dir="ltr">Oh, I'm thinking of stuff like: <a href="https://hackage.haskell.org/package/ghc-exactprint">https://hackage.haskell.org/package/ghc-exactprint</a><div><br></div><div>Where the idea is the tool would refactor and rewrite your code, putting it back where it was. Kinda like go fmt, but you can do anything you want.</div><div><br></div><div><a href="https://github.com/mpickering/apply-refact">https://github.com/mpickering/apply-refact</a> also comes to mind.<br></div><div><br></div><div>I guess I'm thinking of this because I think it could be useful for programmers to preserve the fixed versions in their source code, maybe with before & after comments, for educational purposes.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Sep 22, 2015 at 10:46 AM, Mike Izbicki <span dir="ltr"><<a href="mailto:mike@izbicki.me" target="_blank">mike@izbicki.me</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I'm not familiar with Alan Zimmerman's work.  AFAIK, the only way to<br>
get GHC to modify Haskell code without any annotations is via the<br>
plugin mechanism, which manipulates core.  It would have been possible<br>
to do a template haskell quasiquoter, but that would require the<br>
programmer to have to manually annotate their math expressions.  But I<br>
didn't want the programmer to have to do anything at all.<br>
<div class="HOEnZb"><div class="h5"><br>
On Tue, Sep 22, 2015 at 8:41 AM, Christopher Allen <<a href="mailto:cma@bitemyapp.com">cma@bitemyapp.com</a>> wrote:<br>
> This is *so cool*. One question - why did you go with something that<br>
> modifies the Core instead of rewriting the original source a la Alan<br>
> Zimmerman's work? Is it because the stable forms are sometimes gnarly<br>
> looking?<br>
><br>
> Thanks for making and sharing this!<br>
><br>
> On Tue, Sep 22, 2015 at 10:17 AM, Mike Izbicki <<a href="mailto:mike@izbicki.me">mike@izbicki.me</a>> wrote:<br>
>><br>
>> 80% of packages in stackage that contain floating point expressions<br>
>> have numerically unstable expressions.  The Herbie GHC plugin<br>
>> automatically makes these expressions numerically stable.<br>
>><br>
>> You can find the project on github at:<br>
>> <a href="https://github.com/mikeizbicki/HerbiePlugin" rel="noreferrer" target="_blank">https://github.com/mikeizbicki/HerbiePlugin</a><br>
>> _______________________________________________<br>
>> Haskell-Cafe mailing list<br>
>> <a href="mailto:Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a><br>
>> <a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a><br>
><br>
><br>
><br>
><br>
> --<br>
> Chris Allen<br>
> Currently working on <a href="http://haskellbook.com" rel="noreferrer" target="_blank">http://haskellbook.com</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div dir="ltr">Chris Allen<br><div><span style="font-size:12.8000001907349px">Currently working on </span><a href="http://haskellbook.com" target="_blank">http://haskellbook.com</a></div></div></div></div></div></div>
</div>