Functor => Applicative => Monad

John Smith voldermort at
Mon Dec 6 19:50:35 CET 2010

On 06/12/2010 20:44, Sean Leather 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).

My anecdotal experience is that developers much prefer the .NET/Java approach in this regard, but I'm not aware of a 
formal survey.

I would say that appeal to popularity is entirely the point here. We are not determining facts, but what users would 
prefer - introduce breaking changes (with a specified benefit), or stick to compatibility with old documentation.

More information about the Libraries mailing list