> I have a module A that re-exports module B, and module B contains only >> class >> instances. Since I'm using -Wall, I get this warning about module B >> exporting nothing. Is there a way to disable this particular warning, >> since >> it is unnecessary in this case? No mailing list messages or GHC >> documentation has told me what to do. >> > > Well, the warning is right that you don't need to re-export module B: > instances are implicitly exported. So you could just remove the export of > "module B", unless there's a reason to export it (such as, you might add > some exported functions or data types to it later) >
Ah, got it. Thanks. I didn't realize instances of an imported module were also implicitly exported. I should have looked at the report, however. For the future reference of others: "Instance declarations cannot be explicitly named on import or export lists. All instances in scope within a module are *always *exported and any import brings *all* instances in from the imported module. Thus, an instance declaration is in scope if and only if a chain of import declarations leads to the module containing the instance declaration." -- 5.4 Importing and Exporting Instance Declarations at http://www.haskell.org/onlinereport/modules.html It would definitely be nice to have a bit more control over importing/exporting instances. I noticed this idea has been discussed a few times already. Sean
_______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users