Proceedings of the 19th International Symposium on Principles and Practice of Declarative Programming 2017
DOI: 10.1145/3131851.3131855
|View full text |Cite
|
Sign up to set email alerts
|

Environments and the complexity of abstract machines

Abstract: machines for functional languages rely on the notion of environment, a data structure storing the previously encountered and delayed beta-redexes. This paper provides a close analysis of the different approaches to define and implement environments. There are two main styles. The most common one is to have many local environments, one for every piece of code in the data structures of the machine. A minority of works instead uses a single global environment. Up to now, the two approaches have been considered eq… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
43
0

Year Published

2017
2017
2023
2023

Publication Types

Select...
3
2
2

Relationship

3
4

Authors

Journals

citations
Cited by 26 publications
(43 citation statements)
references
References 34 publications
0
43
0
Order By: Relevance
“…To be formal, we should make both tasks explicit in the form of an abstract machine. The work of Accattoli and coauthors [6,9,4] has however repeatedly showed that these tasks require an overhead linear in the number of β-steps and the size of the initial term, and in some cases even logarithmic in the size of the initial term (see the companion paper [7])-in the terminology of this paper, the costs of search and α-renaming are negligible. At the technical level, for the study of cost models we mostly adopt the techniques and the terminology (linear substitution calculus, subterm invariant, harmony, etc) developed by Accattoli and his coauthors (Dal Lago, Barenbaum, Mazza, Sacerdoti Coen, Guerrieri) in [10,6,9,11,4].…”
Section: Introductionmentioning
confidence: 81%
“…To be formal, we should make both tasks explicit in the form of an abstract machine. The work of Accattoli and coauthors [6,9,4] has however repeatedly showed that these tasks require an overhead linear in the number of β-steps and the size of the initial term, and in some cases even logarithmic in the size of the initial term (see the companion paper [7])-in the terminology of this paper, the costs of search and α-renaming are negligible. At the technical level, for the study of cost models we mostly adopt the techniques and the terminology (linear substitution calculus, subterm invariant, harmony, etc) developed by Accattoli and his coauthors (Dal Lago, Barenbaum, Mazza, Sacerdoti Coen, Guerrieri) in [10,6,9,11,4].…”
Section: Introductionmentioning
confidence: 81%
“…Finally, we put Φ, Ψ and Ξ together in the following derivation Θ for t = (s(II))(II), where s := λx.λy.xx and n [n] (2,3) II : [n, n [n] ] app (4,5) s(II) : 0 n many (0,0) II : 0 app (5,5)…”
Section: Types By Namementioning
confidence: 99%
“…The three evaluations are presented as strategies of Accattoli and Kesner's Linear Substitution Calculus (shortened to LSC) [1,6], a calculus with a simple but expressive form of explicit sharing. The LSC is strongly related to linear logic [2], and provides a neat and manageable presentation of CbNeed, introduced by Accattoli, Barenbaum, and Mazza in [3], and further developed by various authors in [4,5,10,14,15,40,42]. Our type systems count evaluation steps by annotating typing rules in the exact same way, and the proofs of correctness and completeness all follow the exact same structure.…”
Section: Introductionmentioning
confidence: 99%
“…Our algorithm requires λ-terms to be represented as graphs. is choice is fair, since abstract machines with global environments such as those described by Acca oli and Barras in [2] do manipulate similar representations, and thus produce λ-graphs to be compared for sharing equality-moreover, it is essentially the same representation induced by the translation of λ-calculus into linear logic proof nets [1,29] up to explicit sharing nodes-namely ?-links-and explicit boxes. In this paper we do not consider explicit sharing nodes (that in λ-calculus syntax correspond to have sharing only on variables), but one can translate in linear time between that representation to ours (and viceversa) by collapsing these variables-as-sharing on their child if they are the child of some other node.…”
Section: Related Problems and Technical Choicesmentioning
confidence: 99%