Functor => Applicative => Monad

Sean Leather leather at
Mon Dec 6 19:44:11 CET 2010

On Mon, Dec 6, 2010 at 19:22, John Smith wrote:

> .NET and Java are used in billions of line of production code and have
> thousands of books written about them, but new versions often obsolete what
> would have previously been recommended practice. Breaking legacy
> documentation is generally the least of anyone's worries when moving a
> language forward.
> As for breaking code, new versions of GHC often break a bunch of packages
> (see the build logs on hackage), although the breakage would be more
> pervasive in this case.

These two statements do not help your argument. "Other people do it, so it's
okay if we do it, too" is not sufficient reason for breaking working
programs and invalidating textbooks. This appeal to popularity[1] is false:
Microsoft and Sun/Oracle certainly care about backwards compatibility, and
the GHC developers do, too (cf. move from base-3 to base 4).

As for eliminating methods, I'm only proposing that they be moved into a
> legacy module (as was done with old-time and OldException), so the classic
> functions will still be available.

The _use_ of these functions may only require an additional 'import' of said
legacy module, but the _definitions_ of type class instances will be broken.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the Libraries mailing list