[Haskell-cafe] Backward compatibility

Ertugrul Söylemez es at ertes.de
Thu May 2 13:57:01 CEST 2013


John Lato <jwlato at gmail.com> wrote:

> I don't think there's anything wrong with moving at a fast pace, nor
> do I think backwards compatibility should be maintained in perpetuity.

I think this statement pretty much covers the mindset of the Haskell
community and also explains the higher breakage rate of Haskell packages
when compared to other languages, in particular non-static ones:  We
move at a very fast pace.  Innovations are made all the time.  Without
this feature we wouldn't be where we are today.

Of course Haskell, being a rigorously static and correct language and a
community that equally rigorously insists on correctness of design
patterns we have to live with the fact that we need to fix the breakages
we introduce, and we do that.  This is a good thing.


> Unfortunately this leaves a lot of scope for migrations to be handled
> poorly, and for unintended consequences of shiny new systems.  IMHO
> both have caused issues for Haskell developers and users in the recent
> and more distant past.  This is an issue where I think the community
> should continually try to improve, and if a user calls out a
> difficulty we should at least try to learn from it and not repeat the
> same mistake.

I think we do that.  The most severe breakages are introduced by new GHC
versions.  That's why there is the Haskell Platform.  If users decide to
move to new versions sooner they should be prepared to handle the
breakages.  In particular a Haskell beginner simply shouldn't use
GHC-HEAD.  Our type system makes us aware of the breakages we introduce
and gives us the opportunity to fix them properly before exposing them
to the users.

With this in mind I don't think there is anything to learn from this
particular case.  You wouldn't use WASH today for the same reasons you
wouldn't use Linux 0.x.  It's a legacy, and the ideas from it have
inspired the more recent web frameworks, which are more convenient,
faster, more real-world-oriented.  In fact I totally expect a new
generation of web frameworks to pop up in the future, more categorical,
even more convenient and less error-prone.


Greets,
Ertugrul

-- 
Key-ID: E5DD8D11 "Ertugrul Soeylemez <es at ertes.de>"
FPrint: BD28 3E3F BE63 BADD 4157  9134 D56A 37FA E5DD 8D11
Keysrv: hkp://subkeys.pgp.net/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20130502/25c5062f/attachment.pgp>


More information about the Haskell-Cafe mailing list