The DSLDI Summer School was great fun!

We would like to thank all the speakers and students for making this summer school an amazing event.

"I now feel well grounded in the variety of approaches to DSLs. The only problem with the summer school was that all the talks were engrossing, so there were no 'slack' talks during which one could take time off for other things. Fortunately, the social programme was great too, and gave an opportunity to relax after the intensity of the day." —Philip Wadler

"This was a very nice joint EPFL/ETH workshop on a topic of mutual research interests and strengths. The speakers covered the various aspects of the topic, and I was particularly happy about the strong attendance and good interaction with the students." —Markus Püschel

"The DSLDI summer school was a well-organised and outstanding event with a diverse program of high quality speakers but in particular also with many excellent attending students!" —Thomas Wuerthinger

Bootstrap Slider

Lecture Topics

External DSLs

It takes a lot of effort to develop traditional external DSLs: one has to implement parsers, type systems, IDEs, and other tooling. With language workbenches this effort is dramatically reduced. Lectures will cover modern language workbenches.

Heterogeneous Computing

Today's computer systems are heterogeneous: they use CPUs, GPUs, and FPGAs, that can be located on a single node or distributed across clusters. Domain-specific languages are particularly applicable to heterogeneous platforms. Lectures will cover DSL frameworks for heterogeneous computing, dynamic compilation, and compilation to hardware.

Domain-Specific Optimizations

Having domain knowledge allows optimizations that yield orders-of-magnitude speedups over naive code. Lectures on "Exploiting Domain Knowledge" will cover interesting optimizations in the domains of databases and linear algebra.

DSL Embedding

Embedding DSLs in general purpose languages greatly lowers the barrier of DSL development and allows out-of-the-box use of the host language ecosystem and its tools. Lectures will cover DSL embedding in Racket, Scala, and Haskell.


Martin Odersky

Computer and Communication Sciences, EPFL

Markus Püschel

Computer Science, ETH Zürich

Christoph Koch

Computer and Communication Sciences, EPFL

Tiark Rompf

Computer Science, Purdue University

Thomas Wuerthinger

Oracle Labs, Switzerland

Philip Wadler

School of Informatics, University of Edinburgh

Kunle Olukotun

Pervasive Parallelism Laboratory, Stanford University

Jonathan Bachrach

University of California, Berkeley

Matthew Flatt

School of Computing, University of Utah

Eelco Visser

Software Engineering Research Group, TU Delft

Ryan R. Newton

Indiana University, School of Informatics and Computer Science

Lectures will be given at École Polytechnique Fédérale de Lausanne—EPFL

We are very thankful to the ETH Board and Oracle Labs for funding this summer school. Generous funding allowed us to gather amazing lecturers and provide accessible prices for the students.


Vojin Jovanovic

Computer and Communication Sciences, EPFL

Georg Ofenbeck

Computer Science, ETH Zürich

Manohar Jonnalagedda

Computer and Communication Sciences, EPFL

Sandro Stucki

Computer and Communication Sciences, EPFL