News, guides, tutorials and the bigger picture of creating domain specific languages

Bromium DSL: a DSL to test UI actions

Bromium DSL: a DSL to Test UI Actions

  I recently heard about Bromium, a Domain Specific Language (DSL) to describe user actions on a UI. Given I love everything regarding DSLs I contacted his author, Hristo Vrigazov, and chatted with him about: the DSL he has built, building editors using Xtext, working on an open-source project his visions on language engineering Enjoy! […]

Designing a DSL for accounting

Designing a DSL for accounting: use a DSL to describe taxes, pension contributions, and general financial calculations

Let’s see how we can design a DSL. Many readers appreciated the tutorials we wrote on implementing Domain Specific Languages but kept asking us resources on the designing of these languages. On this blog we have discussed already how to write parsers, interpreters, and compilers but we did not write much on what comes before, […]

Interview to Pedro J. Molina on DSLs

Interview to Pedro J. Molina on DSLs

We were lucky enough to get an interview from Pedro J. Molina. He has been a well-known protagonist in the Language Engineering field for quite some time. For me it was such an honor to finally meet him, even if virtually. In this interview he tells us about his experience using DSLs, his activities at […]

Code Generation

A Guide to Code Generation

There are many uses for Code Generation: We can generate repetitive code from schemas or source of information we have. For example, we can generate Data Access Objects from database schema files We can generate code from wizards We can generate skeletons of applications from simple models. We wrote about an example here: Code Generation […]

You Cannot Do Everything with Excel

Are You Abusing Excel? You Need Something Different

Excel is a great software but… for some tasks is just not the right tool. In this article we share a story of how Excel ended up costing billions of dollars because of a simple error. Luckily there is none in your spreadsheets 🙂 We all know how this happens: you start creating a short list […]

Domain Specific Languages

The complete guide to (external) Domain Specific Languages

This guide will show you: the what: after a definition we will look into 19 examples of DSLs the why: what are the concrete benefits you can achieve using DSLs the how: we will discuss the different ways to build a DSLs and what are the success factors After that you will get a list […]

Building a language: tool support

Building a language: tool support

When building a language there is one aspect which is absolutely crucial: that is tool support. Tool support will determine if your language is usable at all, it will influence the reception from user and the usability. In this video I explain why and how you can build great tool support with a limited effort. […]

What are good books on best practices of the design of domain-specific languages (DSL)?

What are good books on best practices of the design of domain-specific languages (DSL)?

Recently I answered this question on quora. I thought it could be useful to report the answer here, in case someone else is looking for books about Domain Specific Languages. What are good books on best practices of the design of domain-specific languages (DSL)? On one side you have internal DSLs: they are sort of […]

interview with jan köhnlein on typefox, dsls and xtext

Interview with Jan Köhnlein on TypeFox, DSLs and Xtext

Jan Köhnlein is a leading expert in DSL design and an Xtext committer. After obtaining his PhD from the Technical University of Hamburg he worked for companies very well known in the modeling field: Gentleware and Itemis. Recently he founded TypeFox together with Sven Efftinge and Moritz Eysholdt. I thought it was a good moment […]

Recognizing hand-written shapes programmatically: find the key points of a rectangle-1

Recognizing hand-written shapes programmatically: find the key points of a rectangle

A far-fetched goal I have is using sketching on a whiteboard as a way to define programs. I mean formal programs that you can execute. Of course through your sketches you would define programs in a high level domain specific language, for example describing a state machine or an Entity-Relationship diagram. To do so I […]

Do You Need a Domain Specific Language (DSL)?

We can design and implement languages tailored to support your processes. We build also all the necessary infrastructure: editors, code generators, compilers, simulators. Our goal is to deliver complete solutions.

We can use different technologies like Jetbrains MPS, Xtext, and ANTLR for custom solutions.