> > Our example was compiling happy. happy does not import anything from
> > cabal-0.5 and yet it was hit by this problem. Unless we consider 'part
> > of the program' to be all modules in all exposed packages (and all
> > modules in 'efectively exposed' packages like util via the cabal-0.5
> > dep).
> 
> You're asking GHC to decide which modules the program depends on, in
> order to figure out which packages are part of the program, rather than
> just starting from the list of exposed packages.
> 
> Hmm, that might be possible... we could eagerly report module clashes in
> the exposed packages, but only report module clashes in the hidden
> packages when we know which ones are required.

This sounds like a good compromise to me. It would allow to have
some packages exposed which are not particularly well-behaved (i.e.,
pollute the name space), but you pay the price only when you're
actually using the package. 

The current situation is unfortunately very fragile. An exposed 
package that is "accidentally" added to the system can break the 
compilation of completely unrelated programs.

It'd be great if you could make this change in ghc.

Cheers,
  Andres
_______________________________________________
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to