<div dir="ltr">Hmm... I'll have to look into it, but it looks promising. Now if we<br>could make hackage run such fixes automatically whilst sending pull<br>requests to authors... then maybe we could even fix The Great Num<br>
Fiasco of 98.<br></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Jun 13, 2013 at 8:45 PM, AlanKim Zimmerman <span dir="ltr"><<a href="mailto:alan.zimm@gmail.com" target="_blank">alan.zimm@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"><div><div><div>Roman Cheplyaka has written a tool called HasFix for updating source based on new versions of libraries.<br>
<br></div>The presentation on it is here <a href="http://ro-che.info/docs/" target="_blank">http://ro-che.info/docs/</a> and the code is at <a href="https://github.com/feuerbach/hasfix" target="_blank">https://github.com/feuerbach/hasfix</a><br>
<br></div>Perhaps it could be pressed into use for automatic update of historical code?<br><br></div>Alan<br><div><br></div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><br><div class="gmail_quote">
On Thu, Jun 13, 2013 at 6:30 PM, Maksymilian Owsianny <span dir="ltr"><<a href="mailto:maksymilian.owsianny@gmail.com" target="_blank">maksymilian.owsianny@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">I was thinking about something similar some time ago, but not just<br>testing but also fixing things automatically. Taking for example<br>
Semigroup => Monoid this would break in places where you have instance<br>
for Monoid but don't have instance for Semigroup. But if you have<br>instance for Monoid making instance for Semigroup is straightforward:<br><br>instance Semigroup <TypeYouAreFixing> where<br> (<>) = <copy code from mappend for that type><br>
<br>I'm still kind of new to Haskell, so I'm not sure how hard such,<br>TemplateHaskell-like automagic migration tool, would be to make, but<br>I feel like such a tool would be of incredible importance for the<br>
community. Because otherwise, without such thing, there are usually<br>two ways a language can evolve:<br> 1. Caring for backwards compatibility, and accumulating mistakes<br> like that over time, and becoming more and more like crap.<br>
2. Making fixes that break everyones code, and because of that<br> being ignored by the industry.<br><br>I like Haskell because it usually takes the second route, but as<br>community grows it will be less and less the case. With such a tool<br>
you could have best of both worlds.<br><br>Though I assume that somebody already thought of that and come to the<br>conclusion that in general case you cannot make such tool because<br>Gödel is a bastard that breaks everyones toys, or something along this<br>
lines.<br><br></div><div><div><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Jun 13, 2013 at 12:54 PM, Niklas Hambüchen <span dir="ltr"><<a href="mailto:mail@nh2.me" target="_blank">mail@nh2.me</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>On 13/06/13 18:36, Vo Minh Thu wrote:<br>
> "For example, here is a run with GHC, no special options and using 4<br>
> threads (note that this generally takes a long time, i.e. a few days):"<br>
<br>
</div>My builds finished in < 10 hours on an i7.<br>
<div><div><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://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
</div></div></blockquote></div><br></div>
</div></div><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://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
<br></blockquote></div><br></div>
</div></div></blockquote></div><br></div>