Domain Specific Languages

Series of seminars

Description

The seminar series on Domain Specific Languages takes place during the first half of the fall of 2002.

It is aimed at a broad audience and has as main goal to introduce the subject. The content is thus not too technical. The subject can be of interest for:

Domain Specific Languages are customized computer languages for a certain kind of application domain (as opposed to general purpose programming languages like C or Haskell or Java). You are most certainly a good user of some of them (VHDL, HTML, Mathematica, LaTex, grep, lex, yacc). The seminar is not dedicated to the languages in this list.

Why are DSLs interesting?

  1. Easier to learn and use. If well designed a DSL allows the developer (an engineer in some specific domain) to expres herself in terms of entities and operations from the corresponding domain. This leads to efficiency in production.
  2. Understandable code. The developer gains confidence in the result and is able to justify her code and relate it to the output.
  3. Efficient implementations. It is the constructs of the language that can be optimized during compilation instead of general purpose constructs.
  4. Adecuate environments. Having a computer language allows for the connection to automatic tools for doing transformations, simulations, verifications, testing and more.

In the seminar we look at examples of such languages and discus their features, advantages, disadvantages and related tools. We will hopefully experiment with some of them.


Schedule

all meetings take place at the conference room at E5


Participants The following people are already involved:

Literature

Paper copies can be obtained from Veronica Gaspes, room E531.

  1. Introductory.
    Paul Hudak (Yale University)
    "The promise of Domain Specific Languages."
    and
    "Modular Domain Specific Languages and Tools"
  2. Domain: Financial Contracts.
    Simon Peyton Jones (Microsoft Research Cambridge), Jean-Marc Eber (LexiFi Technologies, Paris), Julian Seward (University of Glasgow)
    "Composing Contracts: an adventure in financial engineering"
  3. Domain: Communication Protocols.
    Scott Thibault, Charles Consel, Gilles Muller (IRISA/INRIA Rennes)
    "Safe and Efficient Active Network Programming"
  4. Domain: Image Manipulation.
    Conal Elliot (Microsoft Research Cambridge)
    "Functional Images"
  5. Domain: Robot Programming.
    John Peterson, Gregory Hager, Paul Hudak (Yale University)
    "A Language for Declarative Robotic Programming"
  6. Domain : Hardware Description.
    Koen Claessen, Mary Sheeran (Chalmers University of Technology)
    "A Tutorial on Lava: a Hardware Description and Verification System"

You might also be interested in visiting


Notice Board

Sept 30. The list of exercises has now even exercise 5 on defining new tyes. exercises, sorry for the delay!

Sept 20. There is now a short list of exercises , more come on tuesday!

Aug 19. There is now a schedule for the meetings. They all take place at the conference room at E5.

Aug 09. Preliminary meeting to decide times: Aug 19, 10.15 at E5.


Veronica Gaspes
Last modified: Mon Sep 30 10:23:58 MEST 2002