
nhc98 would be much more convenient to use if the error diagnostics were compatible with Emacs compile mode.
I would like to make that possible, but I'm not sure exactly how it would work. For instance you suggest
nhc98 -c -d ../nhc Flatten.hs
==================================== Error when renaming:: Constructor OK used at 833:6 is not defined.
should be more like
Flatten.hs:833:6: Error when renaming:: Constructor OK is not defined.
But what should the following kind of report translate to? Error when renaming:: Constructor OK used at 117:30, 103:15, 98:21, 72:13, 35:5 is not defined. Identifier splitWhile used at 110:13, 106:8, 102:8, 91:13 is not defined. Identifier digit used at 272:52, 259:52 is not defined. Do you want a separate line for each? And how about this one: Error after type deriving/checking: Type error type clash between Prelude.Int and Main.Foo when trying to apply function at 4:17 to its 1:st argument at 4:8. A type error is always found as a mismatch between two expressions, leading to at least two possible positions. Which position should the type error be reported for? Regards, Malcolm