maxsharing-1.0.3: maxsharing.cabal
Name: maxsharing
Version: 1.0.3
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 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).
Category: Graphs, Compiler
Cabal-Version: >= 1.6
Extra-Source-Files: uuagc_options
Data-Files: examples/*.l
Executable maxsharing
Build-Depends:
base < 4.8,
base-unicode-symbols < 0.3,
parsec < 2.2,
IndentParser < 0.3,
containers < 0.6,
containers-unicode-symbols < 0.4,
mtl < 2.3,
uuagc-cabal < 1.1,
uuagc >= 0.9.50.2 && < 0.10,
HaLeX >= 1.2.1 && < 1.3,
boxes < 0.2,
process < 1.5
Extensions: UnicodeSyntax
Other-Modules: Lambda Parser Spanning
Main-Is: MaxSharing.hs