
"Simon Marlow"
3. We add CPP to the list of extensions in Cabal, so you can say {-# LANGUAGE CPP #-} to get C preprocessing in the current file, or add CPP to the list of extensions in the package description to get CPP on every file. That doesn't preclude also using a .cpp extension, but it means you don't have to.
For hugs this would mean preprocessing all files and putting the new .hs files into a temp directory and compiling these. Hopefully, there will be directives in the preprocessed sources to refer back to the original source, and hugs should report errors against the original source lines rather than the preprocessed source lines. Is hugs able to do this already? For GHC and NHC, this just means we use the -cpp flag. Is this correct? If so, that's fine by me (and I speak for the cabal ;) ) peace, isaac