[darcs-users] enfranchising darcs?

Simon Marlow marlowsd at gmail.com
Mon Oct 20 13:17:26 UTC 2008


David Roundy wrote:
> On Fri, Oct 17, 2008 at 1:42 PM, Ben Franksen
> <benjamin.franksen at bessy.de> wrote:
>> Another issue with franchise (as it stands) is this: I have a parsec-3
>> installed but also a parsec-2. I want darcs to build using parsec-2,
>> ignoring parsec-3. How do I do this?
> 
> Right.  Franchise is obviously not complete, nor is setup.hs.  When
> packages change API, we need to check for the right API.  This
> currently is done with checkForModuleExporting, and I've no idea what
> this will do when two packages export the module, but I do know that
> the configure test will fail if franchise doesn't find the right
> package.

You'll need to worry about incompatible dependencies too.  That is, picking 
two packages that happen to depend on different versions of the same 
package, which can lead to a type error at compile-time.  This is what 
Cabal calls the "diamond dependency" problem, see

http://blog.well-typed.com/2008/08/solving-the-diamond-dependency-problem/

I think the way Franchise is trying to figure out package dependencies is 
not a good plan, incedentally.  We've thought about these issues a lot in 
the context of Cabal, and while Cabal isn't perfect by any means, it does 
already solve some of these problems that you're about to encounter.

Cheers,
	Simon


More information about the darcs-users mailing list