Jobs/M2 2015 DV Conception DSL

From LRDE

Revision as of 15:52, 24 November 2015 by Daniela Becker (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Lisp for the design and the development of DSLs
Reference id

M2 2015 DV Conception DSL

Dates

5 - 6 months in 2015

Research field

Dynamic Languages

Related project

Climb

Advisor

Didier Verna

General presentation of the field

DSL design and implementation is booming. There are many approaches to this problem, one is about using the extensibility capabilities of a general-purpose programming language in order to meet specific requirements. Many multi-paradigm approaches (eg functional languages / compile-time meta-programming) also offer benefits. Lisp is a language that is particularly well suited for this type of problem, but it is almost totally absent from the literature on DSLs. Indeed, most researchers are not (or not anymore) familiar with this language. They prefer a language based on a static approach, or have simply forgotten everything Lisp is capable of.

Prerequisites

Prior knowledge of functional programming, Lisp, Haskell and/or Scala would help.

Objectives

The purpose of this internship is to (begin to) fill the gap by adding Lisp to the comparative literature. The work will consist in the study of literature demonstrating some useful approaches for the design of DSLs, further it should propose an alternative approach with Lisp and then compare the results. The steps of this training will include:

  • Familiarization with Common Lisp and in particular its extensibility capabilities.
  • Getting acquainted with the literature on the design and implementation of DSLs in other languages.
  • Choice of an application-centric approach or a comparative approach based on this literature and implementation of a Lispish equivalent.
  • Finally, analysis of the results following the aspects such as: ease of implementation, expressiveness, performance etc. .
Benefit for the candidate

Familiarization with multiple programming languages​​, including Lisp, Haskell and Scala. Experience in the field of DSLs (Domain Specific Languages​​).

References
Place LRDE: How to get to us
Compensation

1000€ euros gross/month

Future work opportunities

If you have performed the internship satisfactorily, we would like it to be followed by a PhD thesis.

Contact

<didier at lrde . epita . fr> <didier at lrde . epita . fr>