On the latest (1.23.1) version of Geany on Arch Linux, there are a few bugs and lacking features with syntax coloring for Haskell documents:
If you import a module as "qualified", the package will be colored yellow rather than blue, e.g.:
import qualified Prelude hiding (tan, cos) import Prelude hiding (tan, cos)
In the former case, import is bold blue, qualified is bold blue, Prelude is yellow, and hiding is black. In the latter (correct) case, import and hiding are bold blue and Prelude is blue.
The following Haskell keywords are not recognized as a keywords, and probably should be (i.e.: they are colored black rather than bold blue):
default, forall, foreign, infix, mdo, proc, rec, newtype
It would be nice if escape sequences (e.g.: "\0178") were colored slightly differently than other parts of strings (orange, perhaps).
Sorry to dump all these into one post, but it would have been a pain to submit otherwise.
It would also be good if built-in Haskell operators (i.e.: the symbolic keywords on this page) were colored differently than surrounding text -- maybe dark grey or another shade.