[Haskell-cafe] More disciplined alternative to rewrite rules?

Will Yager will.yager at gmail.com
Mon Dec 21 19:47:56 UTC 2015

This would be a static rewrite system, of course. 

Are you familiar with any of the Haskell to hardware compilation projects? It turns out that it is quite sensible to interpret Haskell programs as graphs or circuits. 

When you say "The program is a term (tree)", you are suffering from the same conceptual limitation as the existing rewrite system. The syntactic representation of the program is the most natural to humans, but it is perhaps not the best for simplification. 

I simply suggested graphs as a representation suited for optimization because there is a great deal of research in this domain (for VLSI software) and I know Haskell programs are well suited to graph representation. There are, I suspect, other domains conducive to optimization that Haskell programs could also be converted to. 


> On Dec 21, 2015, at 13:34, Johannes Waldmann <johannes.waldmann at htwk-leipzig.de> wrote:
> What graph(s) do you want to rewrite?
> How would this help with respect to A, B, and C?
> The program is a term (tree), the runtime data structure
> (heap) is a graph - you want rewriting at run-time then?
> But the purpose is to move work from run-time to compile-time.
> - J.W.
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe

More information about the Haskell-Cafe mailing list