A type-safe structure editor calculus

Christian Godiksen*, Thomas Herrmann, Hans Hüttel, Mikkel Korup Lauridsen, Iman Owliaie

*Corresponding author for this work

Research output: Contribution to book/anthology/report/conference proceedingArticle in proceedingResearchpeer-review

2 Citations (Scopus)

Abstract

Structure editors make syntax errors impossible, but they still allow construction of programs with incomplete semantics, leading to program states that cannot be evaluated. We introduce a structure editor calculus for a simple functional programming language that allows for incomplete programs. Our editor expressions may interleave construction and evaluation of programs and can thus describe the history of the development of a program. We extend our editor calculus with types and define a resource-aware type system that prohibits editor expressions introducing type errors in the abstract syntax tree and prove that the type system is sound.

Original languageEnglish
Title of host publicationPEPM 2021 - Proceedings of the 2021 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation, Co-located with POPL 2021
Number of pages13
PublisherAssociation for Computing Machinery
Publication date18 Jan 2021
Pages1-13
ISBN (Electronic)9781450383059
DOIs
Publication statusPublished - 18 Jan 2021
Event2021 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation, PEPM 2021, co-located with the Annual Symposium on Principles of Programming Languages, POPL 2021 - Virtual, Online, Denmark
Duration: 18 Jan 202119 Jan 2021

Conference

Conference2021 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation, PEPM 2021, co-located with the Annual Symposium on Principles of Programming Languages, POPL 2021
Country/TerritoryDenmark
CityVirtual, Online
Period18/01/202119/01/2021
SponsorACM SIGPLAN
SeriesPEPM 2021 - Proceedings of the 2021 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation, Co-located with POPL 2021

Bibliographical note

Publisher Copyright:
© 2021 ACM.

Keywords

  • functional programming
  • structure editors
  • type systems

Fingerprint

Dive into the research topics of 'A type-safe structure editor calculus'. Together they form a unique fingerprint.

Cite this