multiple cabal files in one directory?

Henning Thielemann lemming at
Wed Jan 12 20:53:51 CET 2011

Kathleen Fisher schrieb:

> I have two libraries that both implement embedded domain specific languages in haskell, pads and forest, with forest depending on pads.  Because they are both languages, I put the Pads modules in Language.Pads.XXX and the Forest modules in Language.Forest.XXX.  I have a single development space with a directory Language with subdirectories Pads and Forest.  Now I want to to be able to install these libraries with cabal.  The place where it seems like I am supposed to put the cabal file is the directory containing the Language directory, but that means I need one cabal file for Pads and another for Forest.  Rearranging my directory structure to separate the two packages is a pain because the files are under version control in CVS.  

So your problem is maybe more a problem of CVS rearrangement than a
Haskell packaging problem? If you have direct access to the CVS
repository you might rearrange the '*,v' files in the CVS repository as
you need. This rearrangement will not be logged by CVS, of course, but
that is a known deficiency of CVS.

> I'm guessing I'm missing the right model for how to arrange Haskell source code bases.  Suggestions for how I should do things differently?

I don't know enough about your languages, but putting Pads and Forest
into two packages sounds reasonable. I would move them into separate
directories if possible.

More information about the Libraries mailing list