Bereczky, Péter, Horpácsi, Dániel, Thompson, Simon (2024) A frame stack semantics for sequential Core Erlang. In: The 35th Symposium on Implementation and Application of Functional Languages. IFL '23: Proceedings of the 35th Symposium on Implementation and Application of Functional Languages. (5). pp. 1-13. ACM, New York, USA (doi:10.1145/3652561.3652566) (KAR id:106442)
PDF
Publisher pdf
Language: English
This work is licensed under a Creative Commons Attribution 4.0 International License.
|
|
Download this file (PDF/753kB) |
Preview |
Request a format suitable for use with assistive technology e.g. a screenreader | |
Official URL: https://doi.org/10.1145/3652561.3652566 |
Abstract
We present a small-step, frame stack style, semantics for sequential Core Erlang, a dynamically typed, impure functional programming language. The semantics and the properties that we prove are machine-checked with the Coq proof assistant. We improve on previous work by including exceptions and exception handling, as
well as built-in data types and functions. Based on the semantics, we define multiple concepts of program equivalence (contextual, CIU equivalence, and equivalence based on logical relations) and prove that the definitions all coincide. Using this we are able to give a correctness criterion for refactorings, which is one of the main motivations of this work, by means of contextually equivalent symbolic expression pairs
Item Type: | Conference or workshop item (Paper) |
---|---|
DOI/Identification number: | 10.1145/3652561.3652566 |
Uncontrolled keywords: | Formal semantics, Frame stack semantics, Coq, program equivalence, Erlang, CIU theorem |
Subjects: | Q Science |
Divisions: | Divisions > Division of Computing, Engineering and Mathematical Sciences > School of Computing |
SWORD Depositor: | JISC Publications Router |
Depositing User: | JISC Publications Router |
Date Deposited: | 11 Jul 2024 13:35 UTC |
Last Modified: | 15 Aug 2024 10:42 UTC |
Resource URI: | https://kar.kent.ac.uk/id/eprint/106442 (The current URI for this page, for reference purposes) |
- Link to SensusAccess
- Export to:
- RefWorks
- EPrints3 XML
- BibTeX
- CSV
- Depositors only (login required):