David Roundy wrote:
> On Fri, Oct 17, 2008 at 1:42 PM, Ben Franksen
> <[EMAIL PROTECTED]> 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
_______________________________________________
darcs-users mailing list
[email protected]
http://lists.osuosl.org/mailman/listinfo/darcs-users

Reply via email to