[Haskell-cafe] Stacking monads

Andrew Coppin andrewcoppin at btinternet.com
Fri Oct 3 16:02:25 EDT 2008


Jonathan Cast wrote:
> On Fri, 2008-10-03 at 20:43 +0100, Andrew Coppin wrote:
>   
>> OK. So it's broken "for compatibility" then? (Presumably any time you
>> change something from the Prelude, mass breakage ensues!)
>>     
>
> I'm not a big fan of backward-compatibility myself, but changing Monad
> to be a sub-class of Applicative actually would have broken every monad
> instance in existence (at the time Applicative was added, since it
> didn't have any instances yet).  I don't know what proportion of Haskell
> programs/libraries/etc. have at least one Monad instance in them, but I
> would guess it's high.
>   

Hmm, that's quite a lot of breakage.

So if it had been set up this way from day 1, we wouldn't be having this 
conversation, but it's now too expensive to change it. Is that basically 
what it comes down to?



More information about the Haskell-Cafe mailing list