DeepAI AI Chat
Log In Sign Up

Fundamental Constructs in Programming Languages

by   Peter D. Mosses, et al.
Swansea University

Specifying the semantics of a programming language formally can have many benefits. However, it can also require a huge effort. The effort can be significantly reduced by translating language syntax to so-called fundamental constructs (funcons). A translation to funcons is easy to update when the language evolves, and it exposes relationships between individual language constructs. The PLanCompS project has developed an initial collection of funcons (primarily for translation of functional and imperative languages). The behaviour of each funcon is defined, once and for all, using a modular variant of structural operational semantics. The definitions are available online. This paper introduces and motivates funcons. It illustrates translation of language constructs to funcons, and how funcons are defined. It also relates funcons to notation used in previous frameworks, including monadic semantics and action semantics.


page 1

page 2

page 3

page 4


Context-Updates Analysis and Refinement in Chisel

This paper presents the context-updates synthesis component of Chisel--a...


FlatCurry is a well-established intermediate representation of Curry pro...

Translating declarative control elements to imperative using 'l-value redefinition graphs'

We focus on control constructs that allow programmers define actions to ...

Compiler Construction with Basic Programming Languages Constructs and Generalized Interpreting Automata

We have been developing and applying an approach to teach compiler const...

Monadic Style Control Constructs for Inference Systems

Recent advances in programming languages study and design have establish...

Syntheto: A Surface Language for APT and ACL2

Syntheto is a surface language for carrying out formally verified progra...

Functional or imperative? On pleasant semantics for differentiable programming languages

In machine learning (ML), researchers and engineers seem to be at odds. ...