Skip to main content

How to create internal Domain Specific Languages in Perl

by Rolf Langsdorf (‎LanX‎) (

How to create internal Domain Specific Languages in Perl aimed at Intermediate and is held in Deutsch. This talk starts on 2018-04-06 at 15:10 for 40 minutes. It takes place at the Dom.


Kurzbeschreibung erst mal auf Englisch, den Talk wollte ich schon letztes mal in Amsterdam halten...


Domain-Specific Languages (DSL) are a popular but controversial topic.

DSLs are small languages, focused on a particular aspect of a software system.

Invented in the LISP world they were later considered a killer feature of Ruby driving its reputation of being intuitive,

In this talk we'll concentrate on "internal DSLs" (contrary to "external DSLs" which just parse and interpret an external sub language like for instance Template::Toolkit with it's own sub language to build HTML)

Internal DSL bend and twist a host language to make it feel like a different one. Being fully embedded they allow to mix in features of the host language without syntax incompatibilities.

For instance does C# provide a build-in query language called LINQ.

Perl as host language provide a big variety of tools to design syntactic sugar, which needs to be mastered.

We will concentrate on the following questions:

- What exactly are internal DSLs
- What are their advantages over other approaches
- How can they be best designed
- What are the down sides and how can they be mitigated
- What are appropriate techniques for their implementation
- Which Perl specifics can be used here

As a practical examples we will design an own internal DSL for SQL.

Interest in attending: