
On Fri, May 03, 2013 at 01:23:55PM +0300, Guy wrote:
That's what I thought of when I saw the original complaint - GHC is too backwards compatible! There's far too much boilerplate because of the Functor => Applicative => Monad mess. Float/Double being Enums is ridiculous. None of this gets fixed because of the fear that new GHC won't compile old code.
PS The proposal to fix Functor => Applicative => Monad has patches attached for GHC and base, but the backwards compatibility bogeyman always seems to trump something that will break a lot of code.
This kind of "breaks everything" changes would require something similar to what Python is doing with the 2 -> 3 transition, and considering how painfully slowly it is progressing there, I understand perfectly well why people don't want to go there.