Re: Pattern match failure leads to lots of output

"Neil Mitchell" <[email protected]> Fri, 1 Sep 2006 23:00:27 +0100
Newsgroups gmane.comp.lang.haskell.hugs.user
Message-ID <[email protected]>
Hi

> OK, that gives:
>
>         pattern match failure: g_v1624 (Num__sc0_Num instNum_v32) (Maybe2_Just2 (Maybe1_Just1 (Num_fromInt instNum_v32 1))) Maybe2_Nothing2

Before any patches? For me with the May 2006 WinHugs, that gives output forever.

> after my patch:
>
>         pattern match failure: g (Just2 (Just1 (fromInt 1))) Nothing2
>
> which is almost readable.  Maybe I should hide fromInt/fromDouble too.

the fromInt would be nice to be hidden, but not really a problem.

The one thing I don't like about that simplification is that g_v162 ->
g. When I see g_v162 thats kind of vague, but its definately saying "a
child of g" - as I read it. Now you loose the distinction between g
and child of g.

What would of course be lovely would be g_f, for cases where g has a
named inner function that is crashing. I'm not sure how much work that
is to add though.

Even better would be a stack trace (showing the equivalent strict
stack trace), but I realise thats probably a large change :)

Thanks

Neil