
wvasconc@csd.abdn.ac.uk writes:
Hi folk
Is there a way to follow the "execution" of a Haskell program? What I mean here is a way to see which function definition is being used at any moment, and how the execution control moves around a script file.
If this is a preposterous question, just tell me nicely and I will go away!
Oh, and if this has been discussed before, please tell me where and I will chase it up.
Thanks!
It is slightly preposterous; since Haskell programs are referentially transparent, simply looking at the order in which the program is run is confusing -- there are no side effects, so the compiler might generate code whose order of execution is far from the expected. Nevertheless, there are excellent debugging tools for Haskell: * Hat http://www.cs.york.ac.uk/fp/hat/ * Hood http://www.haskell.org/hood * GHood http://www.cs.ukc.ac.uk/people/staff/cr3/toolbox/haskell/ Although they don't work like, say GDB, I find them more intuitive, since they in the spirit of functional programming focus on /what/ a function calculates instead of /how/. There's a more exhaustive list at http://www.haskell.org/libraries/#tracing. Knock yourself out! --- Mikael Brockman phubuh@phubuh.org