Under Control: Compositionally Correct Closure Conversion with Mutable State
Under Control: Compositionally Correct Closure Conversion with Mutable State
复制标题
受控:具有可变状态的组合正确的闭包转换
DOI:
10.1145/3354166.3354181
复制
发表时间:
2019
期刊:
影响因子:
--
通讯作者:
Ahmed, Amal
中科院分区:
文献类型:
--
作者:
Mates, Phillip;Perconti, Jamie;Ahmed, Amal
Compositional compiler verification aims to ensure correct compilation of components, not just whole programs. Perconti and Ahmed [2014] propose a methodology for compositional compiler correctness that supports linking with code of arbitrary provenance. In particular, they allow compiled components to be linked with code whose functionality cannot even be expressed in the compiler's own source language. The essence of their approach is to define a multi-language system that formalizes interoperability between the source and target languages so that compiler correctness can be stated as contextual equivalence in the multi-language. They illustrate this methodology on a two-pass type-preserving compiler for a polymorphic language with recursive types.We show how to extend this multi-language compiler-verification approach to a source language with ML-style mutable references. We present the first compositional correctness proof of typed closure conversion for a language with mutable state. More importantly, we show we can extend our target language with first-class control (call/cc) yielding a compiler correctness theorem that allows components compiled from the source language (without call/cc) to be linked with target-language components (with call/cc) whose extensional behavior cannot be expressed in the source. A nontrivial technical contribution is the design of the multi-language logical relation used to carry out the proof of compiler correctness. This is semantically challenging due to the mix of parametric polymorphism and mutable state in both interoperating languages.We use a blue font to typeset our source language and a bold red to typeset the target. The paper will be much easier to read if viewed/printed in color.
登录
查看更多内容
DOI:
--
发表时间:
2015
期刊:
ACM SIGPLAN International Conference on Functional Programming
影响因子:
--
作者:
Georg Neis;C. Hur;Jan;Craig McLaughlin;Derek Dreyer;Viktor Vafeiadis
通讯作者:
Viktor Vafeiadis
DOI:
--
发表时间:
2007
期刊:
High. Order Symb. Comput.
影响因子:
--
作者:
S. Krishnamurthi;Peter Walton Hopkins;J. McCarthy;P. Graunke;Greg Pettyjohn;M. Felleisen
通讯作者:
M. Felleisen
DOI:
--
发表时间:
2017
期刊:
Foundations of Software Science and Computation Structure
影响因子:
--
作者:
Gabriel Scherer;Max S. New;Nick Rioux;Amal J. Ahmed
通讯作者:
Amal J. Ahmed
DOI:
--
发表时间:
2003
期刊:
SIGP
影响因子:
--
作者:
C. Queinnec
通讯作者:
C. Queinnec
DOI:
--
发表时间:
2008
期刊:
ACM SIGPLAN International Conference on Functional Programming
影响因子:
--
作者:
Amal J. Ahmed;Matthias Blume
通讯作者:
Matthias Blume