
Hi guys! I was wondering about the possibility to work on Cabal for the summer of code. I've been helping one of my teachers to provide (improve) a "plugin" for the uuagc (I haven't spent too much time on it, but here's the fork I'm working on http://github.com/diegoeche/uuagc). I have found how flexible the cabal libraries are but also some things haven't been straightforward to do (I've been using Cabal 1.6.0.3). Basically there's seems to be an assumption of a one-to-one relation of modules and the sources of the files which is not followed by the uuagc pre-processor. I can use List.ag and inside of it use an include declaration to List-Data.ag. If I modify List-Data.ag cabal won't precompile it again because it will only check dates against List.ag (cabal doesn't know that the file that generates List.hs depends not only in List.ag). I had to override the build hook, duplicate the check (this time getting all the dependencies) and delete the generated file to trick cabal to precompile again... and well... that's seems quite a nasty hack to me. This assumption also affect the possibility to make the output of the pre-processor not necessarily an .hs file (and not necessarily carrying the same name). Checking the code for the pre-processors (Distribution.Simple.PreProcess) I noticed it would be good to have the possibility to chain pre-processors. I believe both issues are pretty much connected. I also found the following proposal here: http://hackage.haskell.org/trac/summer-of-code/ticket/1581 which sound also interesting to me. (and there's already a mentor available!) Do you think this could be a good project for the summer of code? Maybe any other ideas I should explore? Did I write to the right list? (please excuse me if I didn't) Thanks! Diego Echeverri