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
| i
> > 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
Simon Marlow <[EMAIL PROTECTED]> wrote,
> > 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'
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 sho
> 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 semicol
> > 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 .
>
> Woul
> 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