<div dir="ltr">Alternately: One thing I can do with HLint is hint with module annotations to ignore certain things. Maybe just a HLint-like hint to tell the HerbiePlugin to ignore a function would suffice?<div><br></div><div>-Edward<br><div><div><br></div><div><br></div></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Sep 22, 2015 at 4:26 PM, Edward Kmett <span dir="ltr"><<a href="mailto:ekmett@gmail.com" target="_blank">ekmett@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">Another minor complications arises from applying these optimizations to the original source code. When I do so, they often involve the original expression as a sub-expression, which it then suggests the original optimization for, despite the ranges where it is inapplicable not being available at that call site.<div><br></div><div>I don't see a good way to handle that except to find a way to tell herbie the actual range the sub-expression can be applied to through some kind of source annotation.</div><span class="HOEnZb"><font color="#888888"><div><br></div><div>-Edward</div><div><br></div></font></span></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Sep 22, 2015 at 4:24 PM, 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">Thanks :)<br>
<br>
That's a good suggestion about not calling expressions improved when<br>
they're not.  I've just pushed a new patch to the repo that fixes this<br>
issue.<br>
<div><div><br>
On Tue, Sep 22, 2015 at 12:48 PM, Edward Kmett <<a href="mailto:ekmett@gmail.com" target="_blank">ekmett@gmail.com</a>> wrote:<br>
> Okay. Having gone through and chewed on a bunch of the optimizations it has<br>
> found, I have to say I officially absolutely adore this plugin!<br>
><br>
> It would be nice if it didn't report 'improved' expressions that are the<br>
> same as the original, but everything else about it is amazing.<br>
><br>
> -Edward<br>
><br>
> On Tue, Sep 22, 2015 at 3:08 PM, Edward Kmett <<a href="mailto:ekmett@gmail.com" target="_blank">ekmett@gmail.com</a>> wrote:<br>
>><br>
>> In this case the primary concern would be that Herbie really needs to have<br>
>> an install of racket as well to do its job right. Between that and a<br>
>> database, there are a lot of things that aren't usually involved in a normal<br>
>> GHC install.<br>
>><br>
>> -Edward<br>
>><br>
>> On Tue, Sep 22, 2015 at 2:08 PM, Elliot Cameron<br>
>> <<a href="mailto:elliot.cameron@covenanteyes.com" target="_blank">elliot.cameron@covenanteyes.com</a>> wrote:<br>
>>><br>
>>> Does GHC HQ consider the possibility of embedding/shipping plugins like<br>
>>> this with normal releases?<br>
>>><br>
>>> ________________________________<br>
>>> From: Haskell-Cafe <<a href="mailto:haskell-cafe-bounces@haskell.org" target="_blank">haskell-cafe-bounces@haskell.org</a>> on behalf of Edward<br>
>>> Kmett <<a href="mailto:ekmett@gmail.com" target="_blank">ekmett@gmail.com</a>><br>
>>> Sent: Tuesday, September 22, 2015 1:39 PM<br>
>>> To: <a href="mailto:mike@izbicki.me" target="_blank">mike@izbicki.me</a><br>
>>> Cc: Haskell Cafe<br>
>>> Subject: Re: [Haskell-cafe] ANN: The Herbie GHC Plugin<br>
>>><br>
>>> Very nice!<br>
>>><br>
>>> Now I just need to figure out how to extract the results of these<br>
>>> analyses and see if I can understand and apply them manually to what<br>
>>> libraries of mine are affected, so that folks who won't or can't run this<br>
>>> plugin can derive the benefits.<br>
>>><br>
>>> -Edward<br>
>>><br>
>>> On Tue, Sep 22, 2015 at 11:17 AM, Mike Izbicki <<a href="mailto:mike@izbicki.me" target="_blank">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" target="_blank">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>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>