Google summer of code in Cabal?
diegoeche at gmail.com
Sat Mar 13 20:40:31 EST 2010
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 188.8.131.52).
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:
sound also interesting to me. (and there's already a mentor
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)
More information about the cabal-devel