proposal #2254: have Control.Arrow re-export (>>>) and (<<<)

Ross Paterson ross at
Fri May 2 04:10:24 EDT 2008

On Fri, May 02, 2008 at 08:30:03AM +0100, Simon Peyton-Jones wrote:
> | Generally, if module A exports foo, module B imports A and re-exports
> | foo, and module C imports both A and B, there should be no ambiguity.
> | Not even if it reexports all of modules A and B. Why would e.g. GHC
> | need to warn in that case?
> Perhaps Niklas can say whether #1148 is the bug he is describing, and if not file a new one?

Niklas's example:

	module A where
	foo x = x

	module B(foo) where
	import A

	module C where
	import A
	import B
	c = foo 'a'

ghc -W says

    Warning: Module `A' is imported, but nothing from it is used,
               except perhaps instances visible in `A'
             To suppress this warning, use: import A()

It's true that the import can be deleted, but not that "nothing from it
is used".

More information about the Libraries mailing list