
On Sun, Apr 3, 2016 at 11:21 PM, David Feuer
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?