[Haskell-cafe] How to debug GHC

Monique Louise monique.louise at gmail.com
Tue Apr 26 18:44:23 EDT 2005

Thanks, Ketil, your suggestion really helped me ! Thanks to Claus for the tips !

On 4/26/05, Ketil Malde <ketil+haskell at ii.uib.no> wrote:
> "Claus Reinke" <claus.reinke at talk21.com> writes:
> > no direct answer to your question, but a general comment on the
> > original problem (speaking from bad experience;-): things like
> > "head" have no place in a Haskell program of any non-trivial size,
> > because of their useless error messages.
> I must say I liked John Meacham's description of his "magic
> underscore".  My solution to this problem is redefining the
> troublesome functions as cpp macros, e.g:
>  #define BUG(C_,M_) (error ("Program error - '"++C_++"' failed: "++M_++". Location: '"++__FILE__++"' line "++show __LINE__))
>  #define head (\xs -> case xs of { (x:_) -> x ; _ -> BUG("head","empty list")})
> Ideally, I think something like this should be the default behavior
> for these functions.
> -kzm
> PS: If anybody wants, I can mail my additional cpp definitions for 'head',
> 'at' (array indexing, I couldn't work out how to redefine the bang),
> 'read' and 'fromJust'.
> --
> If I haven't seen further, it is by standing in the footprints of giants

Monique Louise B.Monteiro
Msc Student in Computer Science
Center of Informatics
Federal University of Pernambuco

More information about the Haskell-Cafe mailing list