
On Mon, Mar 15, 2010 at 3:19 AM, Isaac Dupree
On 03/14/10 22:11, Brandon S. Allbery KF8NH wrote:
On Mar 14, 2010, at 17:55 , Gwern Branwen wrote:
On Sat, Mar 13, 2010 at 11:06 AM, Ian Lynagh
wrote: On Fri, Mar 12, 2010 at 08:44:46PM -0500, Gwern Branwen wrote:
multiple patches which consisted solely of one line removing haskell98 from the .cabal because the haskell98 modules *were not imported*.
A general "Nothing from dependency is imported" warning would be great, but trickier to implement. It's a similar problem to implementing an "extension isn't used" warning.
I've opened a ticket for this: http://hackage.haskell.org/trac/hackage/ticket/643
Actually, doesn't the instances-are-global thing make this essentially impossible without whole-program analysis?
GHC will not find an instance that's never imported, I believe. Therefore dependencies that are nowhere imported can always be safely removed. Is this right?
No, there are packages that instead of exporting modules, export C header files like bindings-DSL for example: http://hackage.haskell.org/package/bindings-DSL Removing such a dependency will break your build if you #include these header files. However, maybe bindings-DSL is the only example of this type of package. regards, Bas