Designing Domain Specific Languages in Perl

By: Rolf Langsdorf (‎LanX‎) from Darmstadt.pm
Date: Not scheduled yet.
Duration: 50 minutes
Target audience: Intermediate
Language: English
Tags: extension language


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:
- An Assembler
- An IDE configuration
- A SQL abstraction


Attended by: Wieger Opmeer (‎a6502‎)

Corporate Sponsors

cPanel Eligo Geekuni, Perl Courses online Geizhals Perl Careers Perl Services Pirum Shadowcat Systems Limited StickerYou custom Sticker Sheets

Community Sponsors

Enlightened Perl Organisation Perl6 Community Perl Weekly