
At 09:57 19/10/04 +0100, Malcolm Wallace wrote:
Isaac Jones
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.
+1 This is exactly what I do for my own code, e.g., http://www.ninebynine.org/Software/HaskellUtils/HaXml-1.12/src/Text/XML/HaXm... which is processed to: http://www.ninebynine.org/Software/HaskellUtils/HaXml-1.12/src/Text/XML/HaXm...
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. #g ------------ Graham Klyne For email: http://www.ninebynine.org/#Contact