
On 10/04/2014 07:30, Ivan Lazar Miljenovic wrote:
On 10 April 2014 16:19, Ganesh Sittampalam
wrote: On 10/04/2014 05:30, Michael Snoyman wrote:
* Module reexports leaking from transitive dependencies.
Shouldn't we just be saying "don't reexport entire modules from other packages"? Is there a scenario where this is useful? One scenario I can see is perhaps inside groups of packages maintained by the same author or in the same source tree, but then the author can bump all the packages in sync if necessary.
Re-exporting modules like Control.Applicative for parsing libraries?
I'd expect users to import Control.Applicative directly in that case, but I haven't surveyed what existing parsing libraries do in practice. Thinking about this more, as a user of a package Y I think I'd be confused if it re-exported symbols that are defined in package X at all even if done with an explicit export list rather than an entire module. It would take some effort to check if they are actually the same as those in X and therefore won't cause clashes if I also import them from X directly for other purposes. It would be interesting to check how common this is, I guess by scanning hackage. Cheers, Ganesh