[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