June 25–27, 2013 | Cambridge, UK
Registration now closed.
The focus of this workshop is on formal language specification frameworks and how they scale up when applied to larger languages. The workshop provides a forum for discussing practical and theoretical issues, and aims to promote dissemination and collaboration between the developers and users of language specification frameworks.
Many hundreds of programming languages have been designed and implemented, and dozens are currently in widespread use. Older languages evolve to incorporate new features, and new programming languages are continually being developed – especially domain-specific languages, designed for use in a particular sector.
Each language needs to be precisely specified. A specification of a major language usually consists of a succinct formal grammar, determining its syntax, together with a lengthy informal explanation of its intended semantics. Unfortunately, such informal explanations are inherently imprecise, open to misinterpretation, and not amenable to validation. In the few cases where the semantics of major languages have been specified formally, the required effort appears to have been huge, which has discouraged wider adoption of formal semantics.
The workshop gathers together leading researchers working on the development and specification of programming and domain-specific languages. One of the objectives is to clarify which features of the various specification frameworks affect scaling up to major languages. A further objective is to raise awareness of current developments of practical relevance, including tool support for language specification, prototyping, and verification.
The invited speakers will present features and applications of particular specification frameworks. The workshop programme will also include presentations of submitted papers, time for informal discussions, and a poster display.
- Egon Börger: The ASM approach for modular design and verification of programming features
- Kevin Hammond: Compositional resource analysis in Hume using automatic amortisation
- Sir Tony Hoare: Laws of concurrent design
- Paul Klint: How to test a meta-program?
- Shriram Krishnamurthi: Programming language semantics as natural science
- José Meseguer: Making real-time language definitions scalable
- Grigore Rosu: Specify and verify your language using K
- David Schmidt: Principles and applications of abstract-interpretation-based static analysis
- Peter Sewell: Programming language and multiprocessor semantics in Ott, Lem, and Ln
- Mark van den Brand: A DSL for describing type checkers for DSLs
- Casper Bach Poulsen: Partial Derivation in Modular Structural Operational Semantics
- Martin Churchill and Peter Mosses: Component-Based Dynamic Semantics for Caml Light
- Lukas Diekmann and Laurence Tratt: Parsing composed grammars with language boxes
- Dominique Duval: Scalability using effects
- Sebastian Erdweg and Florian Lorenzen: Modular and Automated Type-Soundness Verification for Language Extensions
- Mark Hills: Modular Language Specifications for Program Analysis
- Adrian Johnstone, Elizabeth Scott, Peter Mosses, Mark van den Brand and Ali Afroozeh: On Tool Support for Scalable Language Specification
- Ted Kaminski and Eric Van Wyk: Scaling language specifications to mainstream languages and real-world applications
- Elizabeth Scott, Adrian Johnstone, Joseph Reddington and Robert Walsh: On Abstracting Syntax
The accepted extended abstracts (and any full papers based on them) will be made available to workshop participants electronically.
The workshop is organised and sponsored by Microsoft Research Cambridge in collaboration with the PLanCompS research project. The invited speakers are funded by EPSRC.
Programming Principles and Tools Group
Microsoft Research Cambridge
Department of Computer Science