The FunCons session at CoCoDo 2018 gives participants the opportunity to try compiling programs to so-called ‘funcons’ (fundamental programming constructs).
A collection of funcons is essentially a very high level intermediate language. The operational definitions of funcons are reusable components of language specifications, and can be interpreted to run funcon terms. Compilation of a language to funcons supports agile rapid prototyping during its development. A formal definition of the compilation also provides a formal semantics for the language.
At this dojo, participants will use the beta-release of the current collection of funcons, and specify compilation of a simple demonstration language (SL) to funcons using the CBS meta-language for component-based semantics developed by the PLanCompS project. Browsing, editing, and running the specifications are supported by editors generated using Spoofax.
Peter Mosses is professor emeritus at Swansea University. He is currently visiting the Programming Languages Group at TU Delft.
His research in semantics stretches back to Strachey’s Programming Research Group at Oxford in the early 1970s, where he contributed to the development of denotational semantics, and implemented SIS, a system for running programs based on their semantics. He was based at Aarhus University, Denmark, from 1976 to 2004.
The main focus of his research has been on pragmatic aspects of formal specifications – especially modularity. This led to the development of action semantics, MSOS (a modular variant of structural operational semantics) and component-based semantics. He is a principal investigator in the PLanCompS project (Programming Language Components and Specifications), He was also the initial coordinator of CoFI, the Common Framework Initiative, which designed the algebraic specification language CASL.