[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
IvanMiljenovic.wordpress.com


More information about the Haskell-Cafe mailing list