maxsharing

Maximal sharing of terms in the lambda calculus with letrec

http://arxiv.org/abs/1401.1460

Latest on Hackage:1.1

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 stackage.org to host generated Haddocks.

BSD-3-Clause licensed by Jan Rochel
Maintained by [email protected]

Parses a lambda-letrec term; transforms it into a first-order term graph representation; minimises the graph by bisimulation collapse; reads back a lambda-letrec term which has the same unfolding as the original term but is more (maximally) compact. If executable "dot" from graphviz is available, the graphs are displayed (tested for Linux). The approach is described in an ICFP-paper http://dx.doi.org/10.1145/2628136.2628148 and an extended version thereof http://arxiv.org/abs/1401.1460.