[Haskell] modern language design, stone age tools

Graham Klyne GK at ninebynine.org
Wed Jun 23 12:22:10 EDT 2004

At 11:48 23/06/04 +0100, Malcolm Wallace wrote:
>If companies are willing to invest in development, they will get the
>tools they want.

Hmmm... chickens and eggs.  I don't see a lot of *companies* using Haskell 
right now.  And probably they won't until the tools they want are available 
(and more...) :-(

I think the biggest problem with Haskell debugging is visibility of 
intermediate values.  I sometimes end up planting Debug.Trace calls in the 
code, but that can be clumsy -- one of the reasons I develop in Hugs rather 
than GHC is the speed of recompilation when adding transient code like this.

(Simple) facilities I'd like to see to help with debugging include:

- A common version of Debug.Trace that is part of the standard prelude 
(i.e. no additional imports needed).
- A common version of assert that is part of the standard prelude, which 
implementations are free to elide.
- "Remote observation":  a system like Hugs might provide a command option 
(i.e. without code modification) to observe evaluation of a named function 
in evaluation of a larger program.  Using the "observe" functions I found 
to be rather awkward because if too many observations are coded they get 
mixed up, so I don't use them at all.  But if a simple top-level command 
could observe named functions then it would be easy to use more selectively.

Also, a convention for embedding test cases in module code which can be 
checked by the compiler is a possibility that I think was mentioned here 
some time ago.


Graham Klyne
For email:

More information about the Haskell mailing list