
--- isaac jones
Krasimir suggested that a single cabal package should only have one executable, but I don't agree. I can see the reasons for keeping a one-to-one correspondence between a cabal package and a Haskell package, but I actually really like the way cabal treats executables right now. It's much simpler than libraries since it doesn't require a registration step or anything. It just needs to know where to find main and what to call the binary. As Duncan and Simon pointed out, multiple libraries is actually a more complicated story.
I agree that it is completely safe to keep the basic structure the same. My proposal just makes the things even simpler. I would like to know a litle bit more about your plans about executable tools. Lets imagine that there is a library and a preprocesor which are bundled in single package. A good example is the HDirect package which contains the Com library and the ihc tool. ihc translates *.idl files to Haskell modules. Is it possible to add an additional information to the ihc's stanza in the Setup.description that describes the executable as a tool? In the install phase this information can be recorded in a simple database and after that Cabal will know that to compile the .idl file it must use ihc tool. If this is the chosen route then you need to register the executables as well. If in the package there are multiple executables and some of them requires any tool that is in the same package then you will have dependencies between executables as well as between libraries. Cheers, Krasimir __________________________________ Do you Yahoo!? Take Yahoo! Mail with you! Get it on your mobile phone. http://mobile.yahoo.com/maildemo