Name: maxsharing
Version: 1.0
Copyright: (c) 2013, Jan Rochel
Author: Jan Rochel
Maintainer: jan@rochel.info
Homepage: http://rochel.info/maxsharing/
License: BSD3
License-file: LICENSE
Stability: beta
Build-type: Custom
Synopsis: Maximal sharing of terms in the lambda calculus with letrec
Description: Parses a lambda-letrec term; transforms it into a first-order
term graph representation; minimises the graph; reads back a
lambda-letrec term which has the same unfolding as the original
term, but exhibits maximal sharing.
If executable "dot" from graphviz is available, the graphs are
displayed (tested for Linux).
The approach is described in a technical report:
http://arxiv.org/abs/1401.1460
Category: Graphs, Compiler
Cabal-Version: >= 1.6
Extra-Source-Files: uuagc_options
Executable maxsharing
Build-Depends:
base < 4.7,
base-unicode-symbols < 0.3,
parsec < 3.2,
IndentParser < 0.3,
containers < 0.6,
containers-unicode-symbols < 0.4,
mtl < 2.2,
uuagc-cabal < 1.1,
uuagc >= 0.9.50.2,
HaLeX >= 1.2.1,
boxes < 0.2,
process < 1.2
Extensions: UnicodeSyntax
Other-Modules: Lambda Parser Spanning
Main-Is: MaxSharing.hs