
On Thu, May 2, 2013 at 1:27 AM, Adrian May
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@gmail.com ballbery@sinenomine.net unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net