Fundamental Constructs in Programming Languages

07/22/2021
by   Peter D. Mosses, et al.
0

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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
09/20/2017

Context-Updates Analysis and Refinement in Chisel

This paper presents the context-updates synthesis component of Chisel--a...
research
08/29/2019

ICurry

FlatCurry is a well-established intermediate representation of Curry pro...
research
03/04/2021

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

We focus on control constructs that allow programmers define actions to ...
research
05/12/2018

Compiler Construction with Basic Programming Languages Constructs and Generalized Interpreting Automata

We have been developing and applying an approach to teach compiler const...
research
11/25/2002

Monadic Style Control Constructs for Inference Systems

Recent advances in programming languages study and design have establish...
research
05/24/2022

Syntheto: A Surface Language for APT and ACL2

Syntheto is a surface language for carrying out formally verified progra...
research
06/22/2022

Functional or imperative? On pleasant semantics for differentiable programming languages

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

Please sign up or login with your details

Forgot password? Click here to reset