Emacs cc-mode has font-lock definitions for preprocessor. Those include support for #include highlighting with strings, nice coloring for #define, line continuations and other perks. All of this is lacking in current Haskell mode preprocessor highlighing.
haskell-mode should use:
cc-mode is bundled with Emacs these days so it can be relied upon.