Haskell Platform Proposal: HLint

Max Bolingbroke batterseapower at hotmail.com
Fri Nov 5 16:42:45 EDT 2010

On 5 November 2010 13:16, Ivan Lazar Miljenovic
<ivan.miljenovic at gmail.com> wrote:
> I think it isn't technically feasible at the moment, since a library
> is either installed or it isn't; there's no real concept of a
> "build-time only" library with Cabal.

What I was wittering about earlier with package files is precisely the
stuff that would let you have "build time only" dependency for HLint.
Roughly (and from memory, and so certainly riddled with bugs):
1. cabal configure --package-db=/tmp/foobar.pkgconf --prefix=/tmp
2. cabal install

Now your library is registered only in the foobar.pkgconf file - i.e.
not the user or global package file. You can safely rm /tmp and
nothing bad will happen to GHC and the packages installed in your
normal package files.

So to get build time only dependencies:
1. Install the public libraries into the normal package files (user or
global) and the standard prefix
2. Install the private libraries into a temporary package file only
(and in a suitable prefix, so you can wipe them out later on)
3. Install HLint into the temporary package file but into the normal
prefix, so the user gets access to the HLint executable

Job done, I think - and all with existing technology!


More information about the Libraries mailing list