[Haskell-cafe] Backward compatibility

Brandon Allbery allbery.b at gmail.com
Thu May 2 17:04:00 CEST 2013


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

> I think you're missing the point of the platform!
>>
>
> I suppose I did miss the point of the platform: I was trying to build it,
> which requires at least part of the
>

Having to build it already indicates that something is wrong, unless you're
porting to an unsupported OS/hardware.


> platform. As I say, the reason I was trying to build it was that I wrongly
> blamed the ubuntu package for
>

That said, may I point out that the Ubuntu packages *are* broken? They
shipped a mangled Platform which can't be relied on for much; instead of a
well-tested set of packages, they took a good Platform and replaced bits
with minimal testing. Yes, this has actually caused problems for people.

Yes there are times when something has to change. I acknowledged that in my
> original post. But I see no evidence whatsoever that anybody in control of
> Haskell is holding fire even on things as innocent as getPackageId or as
> ubiquitous as the prelude. I'm not asking for the opposite extreme of
> conservatism, just a bit of common sense instead of this bloodbath.
>

You're assuming here that someone deliberately targeted your favorite pet.
I don't know the details but I VERY STRONGLY doubt anyone said "oh, we
should break that function". But I ALSO find it likely that it was the
victim of something sufficiently pervasive that the options were "break it"
or "live with something else being broken forever, just like Perl vs.
cpanel!"

This, sadly, is the real world. The holy grail of fixing bugs without
breaking any program ever anywhere is impossible, and even "fix this bug
without breaking many other programs" is extremely unlikely. Your choices
are this, or Perl/PHP "we do not dare fix bugs or misdesigns because
someone's pet program will die".

(Other examples of this:

- Python 3. Note how many existing Python packages still require Python 2.
- The C and C++ standards are increasingly Byzantine due in large part to
backward compatibility issues; but I'm guessing from your complaints that
this is your ideal model because "old programs still work". Lucky you, you
can happily pretend that it's because they have found some magical way to
do the fundamentally impossible --- right up until reality bites back.
)

-- 
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/4d5c116b/attachment-0001.htm>


More information about the Haskell-Cafe mailing list