[Haskell-cafe] Cabal: other-modules necessary?

Volker Wysk post at volker-wysk.de
Fri Sep 16 09:33:34 UTC 2022


Am Freitag, dem 16.09.2022 um 10:23 +0100 schrieb Tom Ellis:
> On Fri, Sep 16, 2022 at 10:47:47AM +0200, Volker Wysk wrote:
> > The cabal user guide says (in section 6.2.12): "Every module in the package
> > must be listed in one of other-modules, library:exposed-modules or
> > executable:main-is fields."
> > 
> > However, I only get a warning message, when I comment out the other-modules
> > field in my .cabal file. The program compiles. This is the message:
> > 
> > <no location info>: warning: [-Wmissing-home-modules]
> >     These modules are needed for compilation but not listed in your .cabal 
> >     file's other-modules: 
> >         Hsskripte Sicherung SicherungAktionen Text Wahl Zeit
> > 
> > Is it really necessary to specify all the imported modules? If so, why does
> > the program compile? Can that warning message be turned off?
> 
> In response to all the sibling replies at once, is there a good reason
> for this behaviour?  Succeeding but then failing later with obscure
> errors (once the original warning message is nowhere to be seen) seems
> like the worst of all worlds.  Suppose cabal errored here and failed
> to proceed.  What would be the downside of that (besides backward
> incompatibility)?

I've already changed my mind. It's a little bothersome to manually add all
the modules, which could be determined automatically. But it's better than
having linker errors later.

Regards,
Volker


More information about the Haskell-Cafe mailing list