A concrete framework for environment machines

被引:33
|
作者
Biernacka, Malgorzata
Brics, Olivier Danvy [1 ]
机构
[1] Univ Aarhus, Dept Comp Sci, DK-8200 Aarhus, Denmark
关键词
abstract machines; closures; derivation; explicit substitutions;
D O I
10.1145/1297658.1297664
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
We materialize the common understanding that calculi with explicit substitutions provide an intermediate step between an abstract specification of substitution in the lambda-calculus and its concrete implementations. To this end, we go back to Curien's original calculus of closures (an early calculus with explicit substitutions), we extend it minimally so that it can also express one-step reduction strategies, and we methodically derive a series of environment machines from the specification of two one-step reduction strategies for the lambda-calculus: normal order and applicative order. The derivation extends Danvy and Nielsen's refocusing-based construction of abstract machines with two new steps: one for coalescing two successive transitions into one, and the other for unfolding a closure into a term and an environment in the resulting abstract machine. The resulting environment machines include both the Krivine machine and the original version of Krivine's machine, Felleisen et al.' s CEK machine, and Leroy's Zinc abstract machine.
引用
收藏
页数:30
相关论文
共 50 条
  • [1] New Developments in Environment Machines
    Fernandez, Maribel
    Siafakas, Nikolaos
    ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2009, 237 : 57 - 73
  • [2] Distilling Abstract Machines
    Accattoli, Beniamino
    Barenbaum, Pablo
    Mazza, Damiano
    ICFP'14: PROCEEDINGS OF THE 2014 ACM SIGPLAN INTERNATIONAL CONFERENCE ON FUNCTIONAL PROGRAMMING, 2014, : 363 - 376
  • [3] Distilling Abstract Machines
    Accattoli, Beniamino
    Barenbaum, Pablo
    Mazza, Damiano
    ACM SIGPLAN NOTICES, 2014, 49 (09) : 363 - 376
  • [4] Abstracting Abstract Machines
    Van Horn, David
    Might, Matthew
    ICFP 2010: PROCEEDINGS OF THE 2010 ACM SIGPLAN INTERNATIONAL CONFERENCE ON FUNCTIONAL PROGRAMMING, 2010, : 51 - 62
  • [5] Abstracting Abstract Machines
    Van Horn, David
    Might, Matthew
    ACM SIGPLAN NOTICES, 2010, 45 (09) : 51 - 62
  • [6] Reversible, irreversible and optimal λ-machines
    Danos, V
    Regnier, L
    THEORETICAL COMPUTER SCIENCE, 1999, 227 (1-2) : 79 - 97
  • [7] Environments and the Complexity of Abstract Machines
    Accattoli, Beniamino
    Barras, Bruno
    PROCEEDINGS OF THE 19TH INTERNATIONAL SYMPOSIUM ON PRINCIPLES AND PRACTICE OF DECLARATIVE PROGRAMMING (PPDP 2017), 2017, : 4 - 16
  • [8] Optimizing Abstract Abstract Machines
    Johnson, J. Ian
    Labich, Nicholas
    Might, Matthew
    Van Horn, David
    ACM SIGPLAN NOTICES, 2013, 48 (09) : 443 - 454
  • [9] Refunctionalization of Abstract Abstract Machines
    Wei, Guannan
    Decker, James
    Rompf, Tiark
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2018, 2
  • [10] Sequent Calculi and Abstract Machines
    Ariola, Zena M.
    Bohannon, Aaron
    Sabry, Amr
    ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2009, 31 (04):