计算机科学 > 编程语言
[提交于 2025年1月9日
]
标题: 为Dafny烘焙:Dafny的CakeML后端
标题: Baking for Dafny: A CakeML Backend for Dafny
摘要: Dafny是一种注重验证的编程语言,允许开发人员正式指定他们的程序并证明其正确性。 目前,Dafny程序通过两个步骤进行编译:首先,后端将输入程序转换为像C#或Rust这样的高级目标语言。 其次,转换后的程序使用目标语言的工具链进行编译。 最近,Dafny添加了一个中间表示(IR),作为新后端的输入。 在撰写本文时,这些步骤均未经过验证,导致后端和目标语言的工具链都成为Dafny的信任计算基础(TCB)的一部分。 为了减少Dafny的TCB,我们开始开发一个新后端,该后端将Dafny翻译为CakeML,这是一种经过验证的、自举的Standard ML子集,在交互式定理证明器HOL4中实现。 我们还开始为Dafny IR定义功能性的大步语义,以证明后端的正确性。
文献和引用工具
与本文相关的代码,数据和媒体
alphaXiv (什么是 alphaXiv?)
CatalyzeX 代码查找器 (什么是 CatalyzeX?)
DagsHub (什么是 DagsHub?)
Gotit.pub (什么是 GotitPub?)
Hugging Face (什么是 Huggingface?)
带有代码的论文 (什么是带有代码的论文?)
ScienceCast (什么是 ScienceCast?)
演示
推荐器和搜索工具
arXivLabs:与社区合作伙伴的实验项目
arXivLabs 是一个框架,允许合作伙伴直接在我们的网站上开发和分享新的 arXiv 特性。
与 arXivLabs 合作的个人和组织都接受了我们的价值观,即开放、社区、卓越和用户数据隐私。arXiv 承诺这些价值观,并且只与遵守这些价值观的合作伙伴合作。
有一个为 arXiv 社区增加价值的项目想法吗? 了解更多关于 arXivLabs 的信息.