state of the cabal (preprocessors)

Graham Klyne GK at
Tue Oct 19 06:10:50 EDT 2004

At 09:57 19/10/04 +0100, Malcolm Wallace wrote:
>Isaac Jones <ijones at> writes:
> > The issue with cpp is that we can't go by extensions as we do with the
> > rest of the preprocessors... There is a function in HMake which tests
> > to see if a file needs to be cpp'd, so we can employ that.  I think
> > we'll probably have to just treat cpp a little differently from the
> > others, unfortunitely, and I haven't gotten around to it.
>On the other hand, you could reject the convention that cpp sources
>are not distinguished by file extension - e.g. create a new convention
>that, say, a .cpphs extension is preprocessed by cpp(hs) to get a
>plain .hs file.


This is exactly what I do for my own code, e.g.,

which is processed to:

>Since Cabal is pretty new, this won't break any existing Cabal
>packages, and when converting non-Cabal packages to Cabal, there is
>some work to do anyway, so why not just adopt this as one extra rule
>to follow?
>This is just a suggestion - I'm in two minds whether it is a good
>idea myself, but it is at least worth considering the possibility.

I adopted this convention so I could run the cpphs software separately 
without zapping any original files.  I'm not aware of any downside.


Graham Klyne
For email:

More information about the Libraries mailing list