Tim writes:
> I noticed the tracer stuff on the nhc web-site. It looks very much
> like a declarative-debugger, although that term never appeared in the
> documentation I read. Will it in fact be a declarative-debugger ?
Debugging is certainly one of the applications of a tracer. I'm not
sure what you mean by "declarative" in this context. The browser
permits you to explore the program trace, but not to modify it - in
that sense you see a declaration of what occurred.
> If so, will it be portable to ghc?
Not without a large amount of work. There are three parts to the tracer:
1. The source-to-source transformation (from an ordinary program to one
which computes its own trace in addition to its normal behaviour),
is currently implemented within the nhc13 compiler, but has the
potential to be re-written as a free-standing tool. However, all
primitively-defined operations (such as I/O) must also have a
trace-computing variant available, and at present these are written
by hand.
2. Modifications to nhc13's runtime-system, in particular to the garbage
collector, enable large programs to be feasibly traced without
accumulating vast quantities of irrelevant trace data.
3. The trace browser is a free-standing application which connects to
a running Haskell program using sockets. This is very portable.
Regards,
Malcolm
[EMAIL PROTECTED]
Dr Malcolm Wallace (functional programming research) +44 1904 434756
Department of Computer Science, University of York, YORK YO1 5DD, U.K.
------------------------------------http://www.cs.york.ac.uk/~malcolm/