The DSLDI Summer School was great fun!
"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
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.
Speakers
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.
Organizers
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