maxsharing: Maximal sharing of terms in the lambda calculus with letrec

[ bsd3, compiler, graphs, program ] [ Propose Tags ]

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.

Versions 1.0, 1.0.2, 1.0.3, 1.1
Dependencies base (<4.9), base-unicode-symbols, boxes, containers, containers-unicode-symbols, fgl, HaLeX, indentparser, mtl, parsec (>=3.0), process, uuagc, uuagc-cabal [details]
License BSD-3-Clause
Copyright (c) 2013, Jan Rochel
Author Jan Rochel
Maintainer jan@rochel.info
Category Graphs, Compiler
Home page http://arxiv.org/abs/1401.1460
Uploaded by JanRochel at Mon Oct 17 18:30:12 UTC 2016
Distributions NixOS:1.1
Executables maxsharing
Downloads 1229 total (16 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
All reported builds failed as of 2016-11-14 [all 3 reports]
Hackage Matrix CI

Downloads

Maintainer's Corner

For package maintainers and hackage trustees