Fundamental Constructs in Programming Languages

Conference Paper (2021)
Author(s)

Peter D. Mosses (Swansea University, TU Delft - Programming Languages)

DOI related publication
https://doi.org/10.1007/978-3-030-89159-6_19 Final published version
More Info
expand_more
Publication Year
2021
Language
English
Pages (from-to)
296-321
Publisher
Springer
ISBN (print)
9783030891589
Event
Downloads counter
132

Abstract

When a new programming language appears, the syntax and intended behaviour of its programs need to be specified. The behaviour of each language construct can be concisely specified by translating it to fundamental constructs (funcons), compositionally. In contrast to the informal explanations commonly found in reference manuals, such formal specifications of translations to funcons can be precise and complete. They are also easy to write and read, and to update when the language evolves. The PLanCompS project has developed a large collection of funcons. Each funcon is defined independently, using a modular variant of structural operational semantics. The definitions are available online, along with tools for generating funcon interpreters from them. This paper introduces and motivates funcons. It illustrates translation of language constructs to funcons, and funcon definition. It also relates funcons to the notation used in some previous language specification frameworks, including monadic semantics and action semantics.