Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Is the Optimal Implementation Inefficient? Elementarily Not #82

Open
bcdarwin opened this issue Nov 16, 2017 · 0 comments
Open

Is the Optimal Implementation Inefficient? Elementarily Not #82

bcdarwin opened this issue Nov 16, 2017 · 0 comments

Comments

@bcdarwin
Copy link

http://drops.dagstuhl.de/opus/volltexte/2017/7733/pdf/LIPIcs-FSCD-2017-17.pdf

Abstract

Sharing graphs are a local and asynchronous implementation of lambda-calculus beta-reduction
(or linear logic proof-net cut-elimination) that avoids useless duplications. Empirical benchmarks
suggest that they are one of the most efficient machineries, when one wants to fully exploit
the higher-order features of lambda-calculus. However, we still lack confirming grounds with
theoretical solidity to dispel uncertainties about the adoption of sharing graphs. Aiming at
analysing in detail the worst-case overhead cost of sharing operators, we restrict to the case
of elementary and light linear logic, two subsystems with bounded computational complexity
of multiplicative exponential linear logic. In these two cases, the bookkeeping component is
unnecessary, and sharing graphs are simplified to the so-called “abstract algorithm”. By a modular
cost comparison over a syntactical simulation, we prove that the overhead of shared reductions is
quadratically bounded to cost of the naive implementation, i.e. proof-net reduction. This result
generalises and strengthens a previous complexity result, and implies that the price of sharing
is negligible, if compared to the obtainable benefits on reductions requiring a large amount of
duplication.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant