Certified Abstract Machines for Skeletal Semantics

被引:0
作者
Ambal, Guillaume [1 ]
Lenglet, Serguei [2 ]
Schmitt, Alan [3 ]
机构
[1] Univ Rennes, Rennes, France
[2] Univ Lorraine, Nancy, France
[3] INRIA, Rennes, France
来源
PROCEEDINGS OF THE 11TH ACM SIGPLAN INTERNATIONAL CONFERENCE ON CERTIFIED PROGRAMS AND PROOFS (CPP '22) | 2022年
关键词
Skeletal Semantics; Operational Semantics; Abstract Machines; Certified Interpretation; FUNCTIONAL CORRESPONDENCE; EVALUATORS;
D O I
10.1145/3497775.3503676
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Skeletal semantics is a framework to describe semantics of programming languages. We propose an automatic generation of a certified OCaml interpreter for any language written in skeletal semantics. To this end, we introduce two new interpretations, i.e., formal meanings, of skeletal semantics, in the form of non-deterministic and deterministic abstract machines. These machines are derived from the usual big-step interpretation of skeletal semantics using functional correspondence, a standard transformation from big-step evaluators to abstract machines. All these interpretations are formalized in the Coq proof assistant and we certify their soundness. We finally use the extraction from Coq to OCaml to obtain the certified interpreter.
引用
收藏
页码:55 / 67
页数:13
相关论文
共 19 条
[1]  
Ager Mads Sig, 2003, P 5 ACM SIGPLAN INT, P8, DOI 10.1145/888251.888254
[2]   A functional correspondence between monadic evaluators and abstract machines for languages with computational effects [J].
Ager, MS ;
Danvy, O ;
Midtgaard, J .
THEORETICAL COMPUTER SCIENCE, 2005, 342 (01) :149-172
[3]   A functional correspondence between call-by-need evaluators and lazy abstract machines [J].
Ager, MS ;
Danvy, O ;
Midtgaard, J .
INFORMATION PROCESSING LETTERS, 2004, 90 (05) :223-232
[4]  
Ambal Guillaume, 2021, CERTIFIED ABSTRACT M
[5]   AN OPERATIONAL FOUNDATION FOR DELIMITED CONTINUATIONS IN THE CPS HIERARCHY [J].
Biernacka, Malgorzata ;
Biernacki, Dariusz ;
Danvy, Olivier .
LOGICAL METHODS IN COMPUTER SCIENCE, 2005, 1 (02)
[6]   An Abstract Machine for Strong Call by Value [J].
Biernacka, Malgorzata ;
Biernacki, Dariusz ;
Charatonik, Witold ;
Drab, Tomasz .
PROGRAMMING LANGUAGES AND SYSTEMS, APLAS 2020, 2020, 12470 :147-166
[7]  
Biernacki D, 2003, LECT NOTES COMPUT SC, V3018, P143
[8]   Skeletal Semantics and Their Interpretations [J].
Bodin, Martin ;
Gardner, Philippa ;
Jensen, Thomas ;
Schmitt, Alan .
PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2019, 3 (POPL)
[9]  
Buszka M, 2021, Arxiv, DOI arXiv:2108.07132
[10]  
Courant Nathanael, 2019, ML 2019