Skip to content

zsol/visual-graphrewrite

Repository files navigation

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

This is the initial/experimental version.
Usage:
 ./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).


About

Haskell programs visualised

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published