
On Jan 12, 2011, at 3:59 AM, Henning Thielemann wrote:
My question is: What is really the benefit of having multiple packages in one directory? kahl@cas.mcmaster.ca has commented on this question, but his use case didn't convince me. Building many packages at once, an inter-package Make so to speak, would be nice, but this could be separate from the technique of building one package.
I can explain why the question occurred to me, but I'm a newbie to Haskell library construction, so I could have just set things up badly. 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. 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? Kathleen