[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