I think the Haskell lexer needs a bit of tweaking.
The single-line comment syntax is roughly "--"; the tricky bit is that this can then be followed by nearly anything /except/ a variety of symbol characters, in which case it's interpreted as a symbol. For example, "--a" is a comment, "-->" is an operator (and not un-common).
The official syntax is here: http://www.haskell.org/onlinereport/syntax-iso.html
The attached patch improves things a bit, but needs work; currently if it encounters "--\nasdf" it will match the whole string, rather than just the "--". The non-greedy .*? I used does not seem to help. (It also doesn't handle unicode symbols)
Reported by guest