Picon
Favicon

Re: DSL question -- was: New slogan for haskell.org


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

Gmane