Proposal: Changes to the PVP

Ganesh Sittampalam ganesh at earth.li
Thu Apr 10 06:43:52 UTC 2014


On 10/04/2014 07:30, Ivan Lazar Miljenovic wrote:
> On 10 April 2014 16:19, Ganesh Sittampalam <ganesh at earth.li> 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



More information about the Libraries mailing list