April 9-11th 2014
Churchill College, Cambridge UK

Session

Session Title

Hack your DSL with Rascal

Session Type Hands-On
Duration 180 minutes
Session Description

Rascal is a meta-programming language and language workbench for the design and implementation of DSLs. Rascal combines a flexible, functional programming model, with powerful built-in constructs and libraries to facilitate all aspects of language implementation. In this hands-on tutorial you will make your first steps towards hacking DSLs with Rascal. We will cover topics like syntax definition, static checking, desugaring, evolution, code generation, and custom IDE support. The running example will be a simple language for defining interactive questionnaires, called QL. This is the same language that is the benchmark assignment of the Language Workbench Challenge.

NB This is a hands-on session, please bring a laptop or be prepared to share with another participant.

Speaker(s)

Tijs van der Storm (CWI)

Tijs van der Storm is senior researcher at the Dutch national institute for computer science and mathematics (CWI) and teaches Software Construction in the Master Software Engineering at the University of Amsterdam. His main research interests are DSLs, MDD, language workbenches, and programming language design. He is one of the co-designers of the Rascal a meta programming language and language workbench. Together with William Cook, he is currently working on a new programming framework called Ensō, which is based on composition and interpretation of executable modelling languages. In 2013 he co-organised the first Dutch conference on Software Development Automation (SDA'13).

Pablo Inostroza Valdera (CWI)


Pablo Inostroza is a PhD student at the Dutch national institute for computer science and mathematics (CWI) where he works under the supervision of Professor Paul Klint and Dr. Tijs van der Storm. His main research interests are programming language engineering, DSLs and language workbenches. Pablo attained a MSc from Vrije Universiteit Brussel, Belgium.