[Haskell-cafe] Re: Newbie question: Where is StackOverflow on the Wiki?

Andrew Coppin andrewcoppin at btinternet.com
Tue Aug 21 15:37:19 EDT 2007


Neil Mitchell wrote:
> Hi
>
>   
>>> (I need to find some way to automate making these trails :) )
>>>       
>> Yes! We'd need such an automatic tool for the wikibook, too.
>>     
>
> The problem is that Haskell is ridiculously complex, and the "small
> step" interpretation is much harder than you'd think. For example, sum
> may well be defined as foldl' (+) 0, which is a CAF, so gets reduced
> once. The 0 won't actually be a 0, but will be fromInteger 0, which
> will correspond to looking up an item in the dictionary and applying
> it. Dictionaries especially make the "simple" interpretation
> completely wrong.
>
> It's easy to do informally, but once you start being more precise, its
> very complex.
>   

Like I said, I made a tool in Tcl that works. If you program in 
partially-parsed Haskell by hand first for all the functions it calls. 
(Except a few basic math ops.) Indeed, it was by playing with this tool 
that I first discovered why foldl' needs to exist! ;-)

So, making a tool that you can set up to quickly generate an automated 
trace is quite easy. If you want a tool where you can just casually toss 
arbitrary Haskell at it and expect sensible answers... hmm... that's 
going to be kinda tricky. (!)

(I had a go at it myself, several times. Each time I was tripped over by 
being unable to correctly parse arbitrary Haskell code. I never even got 
to writing the execution engine...!)

I think a lot of people will agree that if such a tool existed it could 
be a *tremendous* help in many, many ways - a tool for experimenting and 
teaching, finding out why your really-complicated-function behaves 
wrong, checking out strictness properties, etc. But somebody has to 
write it first.

It's ironic really; Haskell *looks* so easy to single-step. ;-)



More information about the Haskell-Cafe mailing list