Visualize the graph-rewrite steps of a Haskell program

Latest on Hackage:

This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow to host generated Haddocks.

BSD3 licensed by Zsolt Dollenstein
Maintained by

This tool intended to help the graph rewriting process of Haskell expressions.

This is the initial/experimental version.
./rewrite <Haskell source file>

- The program reads the source, which can contain only simple function definitions.
The following definitions may be used: (++), div, mod, eqInt, not, Cons, Nil, succ, True, False, sin.
- The source is converted into a graph rewrite system.
- The program opens a window.
Press space to see the right-hand-sides of the graph rewrite rules.

Short term plans (this version is expected at the end of May):
- Allow data declarations.
- Allow more built-in functions.

Future plans:
- Allow type classes.
- Allow module imports.
- Allow partial applications and slices.
- Better handling of higher order functions.
- Pattern parsing improvements.
- Read the Prelude.
- Extend to work with any Haskell 98 source file.
- Control the graph rewrite process (control over which functions are atomic).
- Control the visualization of the graph (some parts will be folded).

comments powered byDisqus