About cabal and compatibility [Was: simplifying user hooks(non-backward-compatible)]

Simon Marlow simonmar at microsoft.com
Mon Dec 12 07:45:43 EST 2005

On 10 December 2005 23:27, Robert Dockins wrote:

> I just want to mention that these kind of changes represent represent
> a VERY big problem.

I agree, this is indeed a big problem.  I've mentioned it before, albeit
only briefly, and we didn't reach a conclusion.

As you say, Cabal solves (for some value of solve) the versioning
problem for everything except the Setup.lhs script itself.  In the
Setup.lhs script we have absolutely no way to request a particular
version of the Cabal library, and even if you have the right version
installed, it might not be the one used by default, so you're screwed
("runghc -package Cabal-1.0 Setup.lhs" doesn't work, and even if it did
this would be a poor solution).

The cabal-version field is only a partial solution - it doesn't help if
the Cabal API changes such that your Setup.lhs script breaks.

I support doing some explicit interface versioning along the lines of
EternalCompatibiliyInTheory, but only for Cabal.  It's extra work, but
it's necessary if we want to be taken seriously.


More information about the Libraries mailing list