[Haskell-cafe] Re: cabal, haddock, hscolour

Ivan Lazar Miljenovic ivan.miljenovic at gmail.com
Wed Aug 18 08:24:07 EDT 2010

Johannes Waldmann <waldmann at imn.htwk-leipzig.de> writes:

> Duncan Coutts <duncan.coutts <at> googlemail.com> writes:
>> Your .cabal file probably does not list the "other-modules" as it
>> should, so Cabal does not know that the other modules exist.
> Ah. 
> Strange though that it seems to be able to do lots
> of reasonable things (build the executable, build all the API docs)
> without this "other-modules" section.

The executable bit cheats: since it just calls "ghc --make Main.hs", GHC
will bring in all the other modules.  However, I don't think in general
that those other modules will be included into the tarball in question
since Cabal doesn't know to include them.

> I figure it's a cabal design choice, but I don't see the reason for
> it.

Dependency resolution (for modules) isn't done by Cabal; you have to
explicitly state it.

> It seems it just forces me to construct manually some information that
> the machine already knows.

The machine doesn't know; GHC might know but the machine doesn't.

And whilst it might be possible to have "cabal init" generate
Other-Modules for you, you'd still have to keep it in sync somehow.

> OK, we have the same thing for type or interface specifications
> (redundancy is good to detect programmer errors)
> but I don't see from what errors we need protection here.

What errors?  You just have to somehow specify which files are being
used by your package.

Ivan Lazar Miljenovic
Ivan.Miljenovic at gmail.com

More information about the Haskell-Cafe mailing list