
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_reductionhttp://en.wikibooks.org/wiki/Haskell/Graph_reductionto 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