[Haskell-cafe] Backward compatibility

Brandon Allbery allbery.b at gmail.com
Thu May 2 15:09:14 CEST 2013


On Thu, May 2, 2013 at 1:27 AM, Adrian May
<adrian.alexander.may at gmail.com>wrote:

> Let's face it: this decision to change the default syntax in GHC7 means
> that right now Haskell looks about as stable as Ruby on Rails.
>
> 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
> persisted for a while but gave up because getPackageId doesn't exist in any
> form at all anymore. This was only the install script: what would WASH
> itself have in store for me to get my brain around?
>

I'm going to give you the flip side of this one.

I've been active in the Perl community (admittedly in something of an off
and on fashion for health reasons) for years. Perl 5 is in some ways the
epitome of "maintain backward compatibility": there is a lot of Perl code
out there that was written under Perl 4 or earlier. (cpanel, I'm looking at
you. Among others. I recently got to debug some code related to someone's
RADIUS server that looked like it hadn't been touched since perl3.)

And this is the direct cause of the Perl ecosystem being a sewer. Nobody is
willing to take the step of making Perl default to the eminently sane
behavior of checking for invalid inputs, because it will "break" too much
existing (already horribly broken, in reality) code. Nobody will risk
disabling the walking security hole and encouragement of sloppy, buggy code
that is Perl's 2-argument open(). (If you ever wondered why Perl 6 decided
to throw out source compatibility, here's your reason.)

The Haskell98 ecosystem wasn't nearly that bad, but maintaining
compatibility with it did prevent fixing various flaws in things like
exception handling. Between the two, I'd rather see older code broken in
the name of current code actually working correctly. And in Haskell I get a
lot of help from the compiler to bring that older code up to date.

-- 
brandon s allbery kf8nh                               sine nomine associates
allbery.b at gmail.com                                  ballbery at sinenomine.net
unix, openafs, kerberos, infrastructure, xmonad        http://sinenomine.net
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20130502/9740c665/attachment.htm>


More information about the Haskell-Cafe mailing list