DocumentCode :
728967
Title :
On the Relative Usefulness of Fireballs
Author :
Accattoli, Beniamino ; Coen, Claudio Sacerdoti
Author_Institution :
Ecole Polytech., INRIA & LIX, Palaiseau, France
fYear :
2015
fDate :
6-10 July 2015
Firstpage :
141
Lastpage :
155
Abstract :
In CSL-LICS 2014, Accattoli and Dal Lago [1] showed that there is an implementation of the ordinary (i.e. strong, pure, call-by-name) λ-calculus into models like RAM machines which is polynomial in the number of β-steps, answering a long-standing question. The key ingredient was the use of a calculus with useful sharing, a new notion whose complexity was shown to be polynomial, but whose implementation was not explored. This paper, meant to be complementary, studies useful sharing in a call-by-value scenario and from a practical point of view. We introduce the Fireball Calculus, a natural extension of call-by-value to open terms, that is an intermediary step towards the strong case, and we present three results. First, we adapt useful sharing, refining the meta-theory. Then, we introduce the GLAMOUr a simple abstract machine implementing the Fireball Calculus extended with useful sharing. Its key feature is that usefulness of a step is tested-surprisingly-in constant time. Third, we provide a further optimisation that leads to an implementation having only a linear overhead with respect to the number of β-steps.
Keywords :
finite automata; functional programming; lambda calculus; λ-calculus; Fireball Calculus; GLAMOUr; RAM machines; abstract machine; call-by-value scenario; fireballs relative usefulness; functional programming languages; meta-theory; useful sharing; Calculus; Complexity theory; Context; Explosions; Polynomials; Random access memory; Syntactics;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Logic in Computer Science (LICS), 2015 30th Annual ACM/IEEE Symposium on
Conference_Location :
Kyoto
ISSN :
1043-6871
Type :
conf
DOI :
10.1109/LICS.2015.23
Filename :
7174877
Link To Document :
بازگشت