Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Haskell programs visualised

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 GraphRewrite
Octocat-spinner-32 sample
Octocat-spinner-32 GraphRewrite.hs
Octocat-spinner-32 LICENSE
Octocat-spinner-32 README
Octocat-spinner-32 Setup.lhs
Octocat-spinner-32 TODO
Octocat-spinner-32 screenie-pre0.4.png
Octocat-spinner-32 splash.svg
Octocat-spinner-32 ui.glade
Octocat-spinner-32 visual-graphrewrite.cabal
README
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).


Something went wrong with that request. Please try again.