On 06/01/2012 05:07 PM, Sean Leather wrote:
Hi Benjamin,
On Fri, Jun 1, 2012 at 9:54 PM, Benjamin Redelings wrote:
I have written an interpreter that operates on the lambda
calculus augmented with letrec, constructors, case, primitive
objects, and builtin operations. I'd like to display the internal
state of the intepreter at various points so that I can, um, debug
the "programs" that I've written.
Currently I've got about 3500 nodes, and I'm dumping a graph
that I format using the 'dot' program in graphviz.
[...]
However, it would be nice to know of any programs that are
better suited for this. For example, if I could write <>*<> and
draw arrows from the placeholders "<>" to the memory location
being referenced, that would be easier to read. This is done here
http://en.wikibooks.org/wiki/Haskell/Graph_reduction to illustrate
that 'square (1+2)' doesn't evaluate 1+2 twice. Any ideas?
This may not answer your question, but it might be related and/or helpful:
http://rochel.info/#graph-rewriting
Regards,
Sean
Thanks Sean,
The note on Very Lazy evaluation was quite interesting.
I can't directly use the graph rewriting libraries, though, since
the interpreter is written in C++.
-BenRI
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe