On Wed, 2007-09-05 at 08:19 +0100, Simon Peyton-Jones wrote: > | confusing for new users to have the compiler suggest pointless things > | like declaring an instance of Num String or whatever.
This also gets my vote for the "Error-message-most-likely-to-be-unhelpful"-award. IME, this often arises from incorrect use of operators or wrong number of parameters, not missing instances. > It's difficult to make error messages helpful. Certainly. But better to err on the side of brevity. > when you come across a case where GHC produces an > unhelpful message, send it in, along with the program > that produced it, Contents of test/error.hs: f x s = x + show s Error message from GHCi: test/error.hs:2:8: No instance for (Num String) arising from use of `+' at test/error.hs:2:8-17 Possible fix: add an instance declaration for (Num String) In the expression: x + (show s) In the definition of `f': f x s = x + (show s) > your suggestion for the error message you'd like to have seen. Suggestion: As is, with removal the "Possible fix", as it is often misleading (i.e. here, the programmer clearly meant to use '++' and not '+'. Perhaps rephrase to something like "String is not an instance of Num"? For a newbie, it may not be clear that Num is the class and String is the type. -k _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe