I can no longer maintain containers

Phil Ruffwind rf at rufflewind.com
Mon Apr 4 05:30:54 UTC 2016


On Sun, Apr 3, 2016 at 11:21 PM, David Feuer <david.feuer at gmail.com> wrote:
> Does Cabal balk if you try to expose a module provided by a dependency? That seems quite strange. If so, could we rename the modules in the splinter packages and then provide modules in the meta-package that just export them wholesale?

I investigated it a bit more closely and it seems I was partly
confused by the special case where both the user and the meta-library
are part of the same project, e.g. a meta-library A re-exporting an
external library B and being used by A's own test suite T.  In this
special case, the test suite needs to duplicate the dependencies of
the meta-library, even if you re-export it under a different module.

Fortunately, in the case where the user and the meta-library are
compiled as separate projects, the problem is not as bad, hence the
workaround you suggested should work:

> module Data.Sequence2 where ... -- in a sequence package
> module Data.Sequence (module Data.Sequence2) where import Data.Sequence2 -- in containers

I don't even think there is a way to expose a module of another
package under its own name, is there?


More information about the Libraries mailing list