stability vs latest features (was: Re: darcs patch: GenT monad
transformer variant of Gen (QuickCheck 2))
Malcolm.Wallace at cs.york.ac.uk
Wed Aug 15 08:26:04 EDT 2007
Duncan Coutts wrote:
> > And one thing about it which concerns me somewhat is that it seems
> > to want to remain compatible with old versions of things at the
> > expense of taking advantage of new features in the current
> > libraries.
And it disappoints me, when software demands the latest (often
unreleased) version of something else (compiler,lib), just to take
advantage of some new feature that 90% of users are not interested in
There is always a tension between stability - supporting and retaining
existing users - and feature-creep.
> > My concrete example is that I submitted patches to make Gen an
> > instance of Applicative but was told this wasn't ok since it needed
> > to remain compatible with ghc-6.2 or something.
Isaac Dupree <isaacdupree at charter.net> wrote:
> Personally, I don't see the need for new versions of libraries to stay
> compatible with such old versions of GHC (is there a specific old-ghc
> use case I'm unaware of?).
Yes. The default version of ghc provided by our local tech support
people for the use of all students and staff (i.e. those who are not
specifically researching Haskell) is ghc-6.2.2. They have a huge number
of software packages to maintain, and so their upgrade cycle is
necessarily slow. Now these (mostly novice) users of Haskell are the
ones who are mostly quickly going to give up in disgust if some piece of
software they download from the 'net fails to build because it requires
newer versions of all kinds of things they have not even heard of.
Bleeding edge dependencies are fine for those who know and like Haskell.
For those people who are just trying to get their job done, they want
software to "just work" out-of-the-box, regardless of which compiler
version they happen to have available, which probably isn't even under
Another use-case is for obsolete machines like sparc-Solaris, where e.g.
the most recent (working) binary distribution that I can find is
ghc-6.2.1. Any newer version needs dependencies like readline-5, gmp-4,
which are more recent than anything I can obtain for solaris. Well, I'm
sure it would not be completely impossible to chase everything down and
build it myself, but I gave up after a day or two.
More information about the Libraries