Affiliation:
1. University of Cambridge, UK
2. Chalmers University of Technology, Sweden
3. Unaffiliated, Singapore
4. Unaffiliated, UK
Abstract
We have extended the verified CakeML compiler with a new language primitive,
Eval, which permits evaluation of new CakeML syntax at runtime. This new
implementation supports an ambitious form of compilation at runtime and dynamic
execution, where the original and dynamically added code can share
(higher-order) values and recursively call each other. This is, to our
knowledge, the first verified run-time environment capable of supporting a
standard LCF-style theorem prover design.
Modifying the modern CakeML compiler pipeline and proofs to support
a dynamic computation semantics was an extensive project. We review the
design decisions, proof techniques, and proof engineering lessons
from the project, and highlight some unexpected complications.
Funder
Swedish Research Council
European Research Council
Publisher
Association for Computing Machinery (ACM)
Subject
Safety, Risk, Reliability and Quality,Software
Cited by
1 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. PureCake: A Verified Compiler for a Lazy Functional Language;Proceedings of the ACM on Programming Languages;2023-06-06