DSL Essentials: A Comparison of Groovy, Scala, and Ruby

Modern programming languages such as Groovy, Scala, and Ruby are equipped with rich features for developing so-called embedded Domain Specific Languages (DSLs), e.g., consider Ruby on Rails, Grails, and so on.

The goal of this theses topic is to investigate the language features of Groovy, Scala, and Ruby and to collect the essential language features for developing embedded DSLs. The comparison between the three mentioned languages should be achieved by implementing small DSLs in all languages and investigating the flexibility of defining the syntax and semantics of the embedded languages as well as additional support such as code completion, static checks, etc. for the developed languages.