[Haskell-cafe] Testing invasive proposals with Hackager

Maksymilian Owsianny maksymilian.owsianny at gmail.com
Thu Jun 13 18:30:47 CEST 2013


I was thinking about something similar some time ago, but not just
testing but also fixing things automatically. Taking for example
Semigroup => Monoid this would break in places where you have instance
for Monoid but don't have instance for Semigroup. But if you have
instance for Monoid making instance for Semigroup is straightforward:

instance Semigroup <TypeYouAreFixing> where
    (<>) = <copy code from mappend for that type>

I'm still kind of new to Haskell, so I'm not sure how hard such,
TemplateHaskell-like automagic migration tool, would be to make, but
I feel like such a tool would be of incredible importance for the
community. Because otherwise, without such thing, there are usually
two ways a language can evolve:
    1. Caring for backwards compatibility, and accumulating mistakes
       like that over time, and becoming more and more like crap.
    2. Making fixes that break everyones code, and because of that
       being ignored by the industry.

I like Haskell because it usually takes the second route, but as
community grows it will be less and less the case. With such a tool
you could have best of both worlds.

Though I assume that somebody already thought of that and come to the
conclusion that in general case you cannot make such tool because
Gödel is a bastard that breaks everyones toys, or something along this
lines.



On Thu, Jun 13, 2013 at 12:54 PM, Niklas Hambüchen <mail at nh2.me> wrote:

> On 13/06/13 18:36, Vo Minh Thu wrote:
> > "For example, here is a run with GHC, no special options and using 4
> > threads (note that this generally takes a long time, i.e. a few days):"
>
> My builds finished in < 10 hours on an i7.
>
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20130613/ac4b205b/attachment.htm>


More information about the Haskell-Cafe mailing list