Implementing Open Call-by-Value

Beniamino Accattoli, Giulio Guerrieri

Research output: Chapter in Book/Report/Conference proceedingConference contribution

6 Citations (Scopus)

Abstract

The theory of the call-by-value -calculus relies on weak evaluation and closed terms, that are natural hypotheses in the study of programming languages. To model proof assistants, however, strong evaluation and open terms are required. Open call-by-value is the intermediate setting of weak evaluation with open terms, on top of which Grégoire and Leroy designed the abstract machine of Coq. This paper provides a theory of abstract machines for open call-by-value. The literature contains machines that are either simple but inefficient, as they have an exponential overhead, or efficient but heavy, as they rely on a labelling of environments and a technical optimization. We introduce a machine that is simple and efficient: it does not use labels and it implements open call-by-value within a bilinear overhead. Moreover, we provide a new fine understanding of how different optimizations impact on the complexity of the overhead.

Original languageEnglish
Title of host publicationFundamentals of Software Engineering - 7th International Conference, FSEN 2017, Revised Selected Papers
EditorsMarjan Sirjani, Mehdi Dastani, Marjan Sirjani
PublisherSpringer Verlag
Pages1-19
Number of pages19
ISBN (Print)9783319689715
DOIs
Publication statusPublished - 11 Oct 2017
Event7th International Conference on Fundamentals of Software Engineering, FSEN 2017 - Teheran, Iran, Islamic Republic of
Duration: 26 Apr 201728 Apr 2017

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume10522 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Conference

Conference7th International Conference on Fundamentals of Software Engineering, FSEN 2017
CountryIran, Islamic Republic of
CityTeheran
Period26/04/1728/04/17

ASJC Scopus subject areas

  • Theoretical Computer Science
  • Computer Science(all)

Cite this

Accattoli, B., & Guerrieri, G. (2017). Implementing Open Call-by-Value. In M. Sirjani, M. Dastani, & M. Sirjani (Eds.), Fundamentals of Software Engineering - 7th International Conference, FSEN 2017, Revised Selected Papers (pp. 1-19). (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics); Vol. 10522 LNCS). Springer Verlag. https://doi.org/10.1007/978-3-319-68972-2_1

Implementing Open Call-by-Value. / Accattoli, Beniamino; Guerrieri, Giulio.

Fundamentals of Software Engineering - 7th International Conference, FSEN 2017, Revised Selected Papers. ed. / Marjan Sirjani; Mehdi Dastani; Marjan Sirjani. Springer Verlag, 2017. p. 1-19 (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics); Vol. 10522 LNCS).

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Accattoli, B & Guerrieri, G 2017, Implementing Open Call-by-Value. in M Sirjani, M Dastani & M Sirjani (eds), Fundamentals of Software Engineering - 7th International Conference, FSEN 2017, Revised Selected Papers. Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), vol. 10522 LNCS, Springer Verlag, pp. 1-19, 7th International Conference on Fundamentals of Software Engineering, FSEN 2017, Teheran, Iran, Islamic Republic of, 26/04/17. https://doi.org/10.1007/978-3-319-68972-2_1
Accattoli B, Guerrieri G. Implementing Open Call-by-Value. In Sirjani M, Dastani M, Sirjani M, editors, Fundamentals of Software Engineering - 7th International Conference, FSEN 2017, Revised Selected Papers. Springer Verlag. 2017. p. 1-19. (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)). https://doi.org/10.1007/978-3-319-68972-2_1
Accattoli, Beniamino ; Guerrieri, Giulio. / Implementing Open Call-by-Value. Fundamentals of Software Engineering - 7th International Conference, FSEN 2017, Revised Selected Papers. editor / Marjan Sirjani ; Mehdi Dastani ; Marjan Sirjani. Springer Verlag, 2017. pp. 1-19 (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)).
@inproceedings{a51b60640f45423f9934754a1b1745f0,
title = "Implementing Open Call-by-Value",
abstract = "The theory of the call-by-value -calculus relies on weak evaluation and closed terms, that are natural hypotheses in the study of programming languages. To model proof assistants, however, strong evaluation and open terms are required. Open call-by-value is the intermediate setting of weak evaluation with open terms, on top of which Gr{\'e}goire and Leroy designed the abstract machine of Coq. This paper provides a theory of abstract machines for open call-by-value. The literature contains machines that are either simple but inefficient, as they have an exponential overhead, or efficient but heavy, as they rely on a labelling of environments and a technical optimization. We introduce a machine that is simple and efficient: it does not use labels and it implements open call-by-value within a bilinear overhead. Moreover, we provide a new fine understanding of how different optimizations impact on the complexity of the overhead.",
author = "Beniamino Accattoli and Giulio Guerrieri",
year = "2017",
month = "10",
day = "11",
doi = "10.1007/978-3-319-68972-2_1",
language = "English",
isbn = "9783319689715",
series = "Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)",
publisher = "Springer Verlag",
pages = "1--19",
editor = "Marjan Sirjani and Mehdi Dastani and Marjan Sirjani",
booktitle = "Fundamentals of Software Engineering - 7th International Conference, FSEN 2017, Revised Selected Papers",

}

TY - GEN

T1 - Implementing Open Call-by-Value

AU - Accattoli, Beniamino

AU - Guerrieri, Giulio

PY - 2017/10/11

Y1 - 2017/10/11

N2 - The theory of the call-by-value -calculus relies on weak evaluation and closed terms, that are natural hypotheses in the study of programming languages. To model proof assistants, however, strong evaluation and open terms are required. Open call-by-value is the intermediate setting of weak evaluation with open terms, on top of which Grégoire and Leroy designed the abstract machine of Coq. This paper provides a theory of abstract machines for open call-by-value. The literature contains machines that are either simple but inefficient, as they have an exponential overhead, or efficient but heavy, as they rely on a labelling of environments and a technical optimization. We introduce a machine that is simple and efficient: it does not use labels and it implements open call-by-value within a bilinear overhead. Moreover, we provide a new fine understanding of how different optimizations impact on the complexity of the overhead.

AB - The theory of the call-by-value -calculus relies on weak evaluation and closed terms, that are natural hypotheses in the study of programming languages. To model proof assistants, however, strong evaluation and open terms are required. Open call-by-value is the intermediate setting of weak evaluation with open terms, on top of which Grégoire and Leroy designed the abstract machine of Coq. This paper provides a theory of abstract machines for open call-by-value. The literature contains machines that are either simple but inefficient, as they have an exponential overhead, or efficient but heavy, as they rely on a labelling of environments and a technical optimization. We introduce a machine that is simple and efficient: it does not use labels and it implements open call-by-value within a bilinear overhead. Moreover, we provide a new fine understanding of how different optimizations impact on the complexity of the overhead.

UR - http://www.scopus.com/inward/record.url?scp=85032861128&partnerID=8YFLogxK

U2 - 10.1007/978-3-319-68972-2_1

DO - 10.1007/978-3-319-68972-2_1

M3 - Conference contribution

SN - 9783319689715

T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)

SP - 1

EP - 19

BT - Fundamentals of Software Engineering - 7th International Conference, FSEN 2017, Revised Selected Papers

A2 - Sirjani, Marjan

A2 - Dastani, Mehdi

A2 - Sirjani, Marjan

PB - Springer Verlag

ER -