Fundamental Constructs in Programming Languages
Peter D. Mosses

TL;DR
This paper introduces funcons, a formal framework for precisely specifying programming language constructs through compositional translations, aiding clarity, consistency, and evolution in language specifications.
Contribution
It presents the concept of funcons, a modular set of fundamental constructs, and demonstrates their use in formal language specification and translation.
Findings
Funcons enable precise and complete formal specifications.
They are easy to write, read, and update.
The paper relates funcons to existing semantic frameworks.
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
