Scopes Describe Frames

A Uniform Model for Memory Layout in Dynamic Semantics (Artifact)

Other (2016)
Author(s)

Casper Bach Poulsen (TU Delft - Programming Languages)

Pierre Neron (French Network and Information Security Agency (ANSSI)

Andrew Tolmach (Portland State University)

E Visser (TU Delft - Programming Languages)

Research Group
Programming Languages
Copyright
© 2016 C.B. Poulsen, P.J.M. Neron, Andrew Tolmach, Eelco Visser
DOI related publication
https://doi.org/10.4230/DARTS.2.1.10
More Info
expand_more
Publication Year
2016
Language
English
Copyright
© 2016 C.B. Poulsen, P.J.M. Neron, Andrew Tolmach, Eelco Visser
Research Group
Programming Languages
Pages (from-to)
1-3
Reuse Rights

Other than for strictly personal use, it is not permitted to download, forward or distribute the text or part of it, without the consent of the author(s) and/or copyright holder(s), unless the work is under an open content license such as Creative Commons.

Abstract

Our paper introduces a systematic approach to the alignment of names in the static structure of a program, and memory layout and access during its execution. We develop a uniform memory model consisting of frames that instantiate the scopes in the scope graph of a program. This provides a language-independent correspondence between static scopes and run-time memory layout, and between static resolution paths and run-time memory access paths. The approach scales to a range of binding features, supports straightforward type soundness proofs, and provides the basis for a language-independent specification of sound reachability-based garbage collection. This Coq artifact showcases how our uniform model for memory layout in dynamic semantics provides structure to type soundness proofs. The artifact contains type soundness proofs mechanized in Coq for (supersets of) all languages in the paper. The type soundness proofs rely on a language-independent framework formalizing scope graphs and frame heaps.