Workshop Overview
Interested in programming languages? Considering a BSc project in PL? Starting on the master's programme and can't wait to get started with mondads? Then this informal workshop is for you!
Compositional compiler construction is about building compilers out of small, composable, testable units.
You might be familiar with some basic principles of compiler construction and programming language design, such as lexing/parsing using lex/yacc. This informal workshop will give a brief introduction to a more modular approach to lexing and parsing: parser combinators. We will then take a similarly modular approach to define an interpreter, type-checker, and compiler. All of this thanks to the expressive power of monads, in Haskell.
You might also be familiar with BNF notation as a formal way of specifying the syntax of a programming language, but less familiar with formal ways of specifying the semantics or type system of a programming language. There exist a range of formal approaches, and this informal workshop will offer a gentle introduction.
Overall this workshop aims to provide you with the skills to:
- Formally specify the syntax, semantics, and type-system of simple programming languages, and read such formal specifications.
- Perform rapid prototyping of toy programming languages and compiler techniques.
- "Painlessly" cross of the boundaries between regular, context-free, and context-sensitive languages when writing a lexer and parser.
Keywords: Parser combinators, syntax, semantics, types, monads.
Reading material
- A more complete version of this Links to an external site..
- Select sections in Practical Foundations for Programming Languages Links to an external site. (free via REX).
Other information
-
Date and time:
August 21-25October 16-20, 2017, 13:15-17:00. - Location: Somewhere on Nørre Campus, TBA.
- Target audience: Everyone!
- Credits: None, this workshop is not for credit.
- Prerequisites: IPS, or similar.
- Instructors: Oleks Links to an external site. and TBA.