First Workshop on Domain Specific Languages Design and Implementation (DSLDI)

Monday, July 1st, 2013, Montpellier, France

Collocated with the European Conference on Object-Oriented Programming (ECOOP) 2013

Modern hardware is growing more and more complex, often featuring not only multiple cores but also heterogeneous components with various types of architecturally different accelerators. Consequently, it is increasingly more difficult for the programmers to produce high-performance scalable software, which is often equally complex, using general-purpose programming languages such as Java or C++, as they lack appropriate language-level abstractions. Languages designed to support high productivity, such as scripting languages exemplified by Python, JavaScript or Perl, make the programmer's task much easier. Their performance, however, while certainly adequate for some use cases, is not quite on-par with that of the general-purpose programming languages. Domain Specific Languages (DSLs) combine the best features of the general-purpose programming languages, that is efficiency, and of the languages designed for high productivity, that is ease of programming. This makes DSLs our best hope for harnessing computational resources available on modern architectures without requiring super-human programming skills.

The goal of the DSLDI workshop is to bring together researchers and practitioners interested in sharing ideas on how Domain Specific Languages should be designed and implemented and on usage scenarios for modern DSLs. We are interested both in discovering how already known domains, such as graph processing or machine learning, can be best supported by DSLs but also in exploring new domains that could be targeted by DSLs. More generally, we are interested in building a community that can drive forward development of modern DSLs.

The workshop will consist of a series of short invited talks whose main goal would be to trigger exchange of opinion and discussions on the topics within DSLDI's area of interest which include but are not limited to the following ones:

  • DSL implementation techniques, including compiler-level and runtime-level solutions
  • utilization of domain knowledge for driving optimizations of DSL implementations
  • utilizing DSLs for managing parallelism and hardware heterogeneity
  • DSL performance and scalability studies
  • DSL tools, such as DSL editors and editor plugins, debuggers, refactoring tools, etc.
  • applications of DSLs to existing as well as emerging domains, for example graph processing, image processing, machine learning, analytics, robotics, etc.
  • practitioners reports, for example descriptions of DSL deployment in a real-life production setting

The workshop will be informal and will not have proceedings of any kind.  We have a limited number of presentation slots so we welcome suggestions for people to give talks about their experience of using or developing DSLs.  If you would like to give a presentation then please contact Adam Welc at (presentation submission deadline: April 26th, 2013).

Workshop Program:

 08.30-08.45  Opening    
 08.45-10.30  Session 1    
     A Type-Directed Mechanism for Whitespace-Delimited Embedded DSLs (slides)  Jonathan Aldrich and Benjamin Chung, CMU
     Language extensibility and its impact on DSL design and implementation –
A case study in Lisp (slides, code)
 Didier Verna, EPITA Research and Development Laboratory
     Active Typechecking and Translation in Ace (slides)  Cyrus Omar, CMU
     Graceful Dialects (packaged presentation tested with Firefox or on-line version  Michael Homer, Victoria University of Wellington
 10.30-11.00  Break    
 11.00-12.30  Session 2    
     NT2 : A Architecture-aware EDSL for Scientific Computing (slides)  Joel Falcou, Université Paris Sud, LRI
     The pro to-runtime approach to Domain Specific Languages (slides)  Sean Halle, Open Source Research Institute and CWI, Amsterdam
     Forge: Generating High Performance DSL Implementations from a Declarative Specification (slides)  Arvind Sujeeth, Stanford University
 12.30-14.00  Lunch    
 14.00-15.30  Session 3    
     Composition and Interpretation of Domain-Specific Specification Languages in Ensō (slides)  William R. Cook, University of Texas at Austin Computer Science
     Projectional Editing with the Intentional Domain Workbench (slides)  Mats Helander, Intentional Software Nederland V.B.
     The Spoofax Language Workbench  Eelco Visser, Delft University of Technology
 15.30-15.45  Break    
 15.45-16.45  Session 4    
     CAPH: A Domain Specific Language for implementing stream-processing applications on reconfigurable hardware (slides)  Jocelyn SerotInstitut Pascal, UMR 6602 CNRS / Université Blaise Pascal, Clermont-Ferrand
     Choosing the Best Level of Abstraction for Your Domain-Specific Language (slides)  Juha-Pekka Tolvanen, MetaCase
 16.45-17.00  Break    
 17.00-18.15  Panel  DSLs - Opportunities and Challenges for Wide-spread Adoption  PANELISTS:
       Erik MeijerApplied Duality Inc.
       Kunle OlukotunStanford University
       Eric SedlarOracle Labs
       Eelco VisserDelft University of Technology

Organizing committee:

Hassan Chafi, Oracle Labs
Tim Harris, Oracle Labs
Kunle Olukotun, Stanford University
Satnam Singh, Google
Laurence Tratt, King's College London
Eelco Visser, Delft University of Technology
Adam Welc, Oracle Labs