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

Reply via email to