Session Info

Session Title

Internal DSLs with Xtend

Session Type Tutorial

Duration 45 minutes

Session Description

Xtend, a new statically typed programming language for the Java platform, offers many possibilities for developing concise and intuitive APIs and internal Domain-Specific languages (DSL).

We will start this session explaining the advantages and drawbacks of an internal DSL and how it differs from an external one, e.g. as produced by language workbenches. You will see different real world examples, learn how they are implemented and get an idea about idiomatic usage patterns. From powerful query APIs and declarative UI design to encapsulation of boiler plate code in annotations: internal DSLs with Xtend are fun to work with and can increase your productivity in many Java projects.

Xtend is developed open-source at, freely available and distributed under the EPL.


Sven Efftinge (itemis)

Sven works for itemis AG and leads an open-source development lab in Kiel, Germany. He is a passionate software developer, interested in everything which helps developing and maintaining high-quality software systems. Sven is the project lead of Xtext, a framework for development of domain-specific languages, and Xtend, a programming language which compiles into readable Java source code.

Sebastian Zarnekow (itemis)

Sebastian works for itemis and lives in Kiel, Germany. As the co-architect of Xtend and Xtext he is specialized in language design, language implementation and IDE development. Sebastian presents at international conferences, writes articles for magazines and blogs on