The visual-graphrewrite package

[Tags:bsd3, library, program]

Visualize the graph-rewrite steps of a Haskell program. Currently it only shows the right-hand-sides of rewrite rules (function alternatives).

[Skip to Readme]


Versions 0.3, 0.3.1, 0.3.2,
Dependencies base (>=, cairo (>=0.10.0), containers (>=, directory (>=, fgl (>=, gtk (>=0.10.0), haskell-src (>=, ipprint (>=0.3), lazysmallcheck (>=0.3), parallel (>=, pretty (>=, process (>=, strict-concurrency (>=0.2.1), svgcairo (>=0.10.0), value-supply (>=0.5) [details]
License BSD3
Author Zsolt Dollenstein
Stability experimental
Category Development
Home page
Bug tracker
Uploaded Sat May 9 19:15:59 UTC 2009 by ZsoltDollenstein
Distributions NixOS:
Downloads 820 total (3 in the last 30 days)
0 []
Status Docs not available [build log]
All reported builds failed as of 2017-01-01 [all 7 reports]


  • GraphRewrite
    • Internal
      • GraphRewrite.Internal.Convert
      • GraphRewrite.Internal.DeltaFunctions
      • GraphRewrite.Internal.Rename
      • GraphRewrite.Internal.Rewrite
      • GraphRewrite.Internal.RewriteApp
      • GraphRewrite.Internal.RewriteTypes
      • GraphRewrite.Internal.SimpleHaskell


Maintainer's Corner

For package maintainers and hackage trustees

Readme for visual-graphrewrite

Readme for visual-graphrewrite-0.3.2

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):
- Show the graph rewrite process instead of the rhs of rewrite rules.
- Allow tuples and lists.
- Allow data declarations.
- Allow more built-in functions.
- User defined start expression for the graph reduction.
- To be usable as a library.

Plans for the final version:
- Allow type classes.
- Allow module imports.
- 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).