[Haskell-cafe] Re: DSL question -- was: New slogan for haskell.org

Brandon S. Allbery KF8NH allbery at ece.cmu.edu
Wed Dec 19 14:12:02 EST 2007

On Dec 19, 2007, at 13:03 , Steve Lihn wrote:

> In the Disadvantage section (near the end), there is an item -- hard
> or impossible to debug. Can anybody explain why or what it means? And
> how does it apply to Haskell?

In the general case, you would need to design into your DSL both  
ability to debug programs written in it, and ability to debug its  
runtime/implementation.  With experience, you can make the latter  
easier but in the case of complex DSLs even the best runtime support  
can be tricky.

But in Haskell, not only is your DSL implemented in Haskell but it is  
implemented *as* Haskell combinators, so you can use the existing  
Haskell debugging features, *and* the implementation behaves like any  
other Haskell program so you are more likely to be able to figure out  
what's going on inside it given a reasonable debugging environment.   
The problem there being that debugging support is still fairly new in  
GHC 6.8.x (and well-nigh nonexistent in other Haskell  
implementations) and evolving.

brandon s. allbery [solaris,freebsd,perl,pugs,haskell] allbery at kf8nh.com
system administrator [openafs,heimdal,too many hats] allbery at ece.cmu.edu
electrical and computer engineering, carnegie mellon university    KF8NH

More information about the Haskell-Cafe mailing list