[Haskell-cafe] Backward compatibility

Hilco Wijbenga hilco.wijbenga at gmail.com
Fri May 3 19:40:39 CEST 2013


On 3 May 2013 09:44, Niklas Hambüchen <mail at nh2.me> wrote:
> While I certainly enjoy the discussion, how about addressing one of the
> original problems:
>
> On 02/05/13 13:27, Adrian May wrote:
>> I just tried to use Flippi. It broke because of the syntax change so I
>> tried WASH. I couldn't even install it because of the syntax change.
>
> I just fixed that in https://github.com/nh2/flippi (note that I have
> never seen this code before nor even known about it).
>
> https://github.com/nh2/flippi/commit/5e2fa93f82b4123d0d5b486209c3b722c4c1313d
>
> Had to delete 5 imports and convert one time value.
>
> Took me around 3 minutes.

It seems fair to say that Haskell's designers lean more to evolution
than maintaining backward compatibility. This reminds me of "Go" (the
programming language). The approach chosen by Go's designers was to
create a tool (gofix) that would automatically fix one's code to
comply with the latest standard. See
[http://talks.golang.org/2012/splash.article#TOC_17.] (yes, include
that last period).

Given the apparent simplicity of the changes needed to keep one's
Haskell code up to snuff and the strong typing inherent in Haskell
code, would it not be possible to create something similar? If there
is a tool that moves (most of) one's code from Haskell version n to
n+1 then making breaking changes would be even less of an issue.

Just an idea, I have no clue about its feasibility...



More information about the Haskell-Cafe mailing list