Good point. Error message improved, regression test added.
Thanks for the suggestion
Simon
| -Original Message-
| From: Dean Herington [mailto:[EMAIL PROTECTED]]
| Sent: 05 February 2003 19:14
| To: [EMAIL PROTECTED]
| Subject: confusing error message
|
| buzzard(118)% cat Bug5.hs
|
Simon wrote:
I know about this one, but haven't got around to fixing it yet. The parse
error is on a semicolon generated by the layout system, as you probably
guessed, which is why there's no token available to print in the error
message. Any thoughts on what a suitable error message should
Main.hs:3: parse error on input ';' (inserted by layout)
Incomplete expression on previous line or incorrect
indentation of the current line.
I think Manuel's suggestion is a definite improvement here.
For interest, another Haskell compiler, nhc98, gives the message
4:5
For
foo = let
x = (1, 2
y = 3
in
fst x + y
GHC 4.04 gives me
Main.hs:3: parse error on input `'
Interesting, but not very informative ;-)
I know about this one, but haven't got around to fixing it yet. The parse
error is on a semicolon generated
I encountered a confusing error message, which you can
reproduce with
type P a = Maybe a
instance Monad P where
(=) = error "foo"
return = error "bar"
I get
bug.hs:5: `P' should have 1 argument, but has been given 0 .
Would it be better if it said
I encountered a confusing error message, which you can
reproduce with
type P a = Maybe a
instance Monad P where
(=) = error "foo"
return = error "bar"
I get
bug.hs:5: `P' should have 1 argument, but has been given 0 .
Would it be better if it said