Section: New Results
Participant : Beniamino Accattoli.
Functional programming languages are often based on the call-by-value -calculus, whose elegant theory 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, and it is well known that the operational semantics of call-by-value becomes problematic in this case. In this joint work with Giulio Guerrieri we studied the intermediate setting—that we call Open Call-by-Value—of weak evaluation with open terms, on top of which Gregoire and Leroy designed the abstract machine of Coq. Various calculi for Open Call-by-Value already exist, each one with its pros and cons. We did a detailed comparative study of the operational semantics of four of them, coming from different areas such as the study of abstract machines, denotational semantics, linear logic proof nets, and sequent calculus. We showed that these calculi are all equivalent from a termination point of view, justifying the slogan Open Call-by-Value. The work has been published in the proceedings of the international conference APLAS 2016 .