Category Archives: Domain-Specific Languages

Domain-Specific Languages: Links, News And Resources (3)

Previous Post

Domain-Specific Languages, implemented in different languages.

dsl – Mini-languages in Python – Stack Overflow

Creating Domain Specific Languages in Python

Building Your Own Java, Part 2
Alex Shatalin and Václav Pech continue their language building demo using JetBrains MPS started in Part 1 of this presentations (see “Building Your Own Java, Part 1” on InfoQ).

DSLs in Clojure

Building Your Own Java, Part 1
Alex Shatalin and Václav Pech hold a hands on demonstration on using JetBrains MPS to generate a new language, including version control, debugging, testing, refactoring, etc.

Mission: Impossible–Purely Declarative User Interface Modeling

A DSL for Scripting Refactoring in Erlang

Webr-DNQ – Web Application Development with Pleasure
Maxim Mazin and Evgenii Schepotiev discuss the advantages of using DSLs by exemplifying application development with JetBrains MPS (Meta Programming System) and the Webr-DNQ framework.

Emulating "self types" using Java Generics to simplify fluent API implementation | Passion For Code

A Declarative HTML DSL for Ruby

clojure @ runa :: dynamic pricing through DSLs
Domain Model – Reference Guide 4.0 – Mendix Community Platform

Petter’s Random Thoughts on Software: DSL’s, UIX and Agile Development, Lessons Learned

A DSL for creating total and truly incremental parsers in Clojure

InfoQ: How to Integrate Models And Code

My Links

Keep tuned!

Angel “Java” Lopez

Domain-Specific Languages: Links, News And Resources (2)

Previous Post
Next Post

More links about Domain Specific Languages:

Language Workbench Challenge

Dsl Intro

META II: A Syntax-Oriented Compiler Writing Language.

Tutorial: Metacompilers Part 1

Combinator Parsing
Occasionally, you may need to process a small, special-purpose language.

New DSL Book

Common Lisp DSL Compiler Framework. CL-DCF is a framework for building DSL compilers.

RailCasts, JBuilder
Jbuilder provides a DSL for generating JSON.

Case Study in DSL Development with Scala – Part 3

Case Study in DSL Development with Scala – Part 2

Case Study in DSL Development with Scala – Part 1
In early high level languages such as Lisp and Forth, the programming style was to build meta-linguistic abstractions towards the domain, and then write programs using these abstractions.

Writing a DSL with Python

Implement A Dsl

Problem-Oriented Mini-Languages


A DSL for Continuation Passing Style in Scala

A CAT for ‘Multi-User Dungeon Definition Language’, serendipitously punning on MDL, the language in which ‘Zork’ was written. MUDDL is the definition language of MUD1.

Clojure Robot DSL

Backing up with Backup
Backup provides a neat DSL for creating backup scripts with archiving files and databases through to common data stores (S3, Rackspace, SFTP, etc), with notifications via email, Campfire and others.

Offbeat: Scala by the end of 2011 – No Drama but Frustration is Growing

Implementing existing DSLs with Xtext – a case study, part 1

Groovy Goodness: Create Our Own Script Class
Groovy is a great language to write DSL implementations. The Groovy syntax allows for example to leave out parenthesis or semi colons, which results in better readable DSL (which is actually Groovy code).

My Links

Keep tuned!

Angel “Java” Lopez

Domain-Specific Languages: Links, News and Resources (1)

Next Post

As a programming language fan, I’m interested in Domain Specific Languages, too. Some of the links I found about this topic.

In software development and domain engineering, a domain-specific language (DSL) is aprogramming language or specification language dedicated to a particular problem domain, a particular problem representation technique, and/or a particular solution technique. The concept isn’t new—special-purpose programming languages and all kinds of modeling/specification languages have always existed, but the term has become more popular due to the rise ofdomain-specific modeling.

Why Program by Hand in Five Days what You Can Spend Five Years of Your Life Automating?
Terence Parr discusses using automation tools including DSLs to automate the software creation process as much as possible in order to increase output, effectiveness, correctness and velocity.

Korma is a domain specific language for Clojure that takes the pain out of working with your favorite RDBMS. Built for speed and designed for flexibility, Korma provides a simple and intuitive interface to your data that won’t leave a bad taste in your mouth.

2nd International Workshop on Domain-Specific Languages and models for ROBotic systems (DSLRob’11), September 2011

The Perils of Partially Powered Languages

Why Programming Languages?

InfoQ: Complex Event Processing: DSL for High Frequency Trading

Growing a DSL with Clojure

DSL for the Uninitiated | July 2011 | Communications of the ACM

Ruminations of a Programmer: Composing Heterogeneous DSLs in Scala

CiteSeerX — Evolve Frameworks into Domain-Specific Languages

The Metalevel — Code Generation 2011: a personal review

Language Workbench Competition 2011 / Code Generation 2011 « New Thoughts

Software Development Revolutionary Game Changer

Combinators as the sublanguage of DSL syntax

Lisp Isn’t Really a Programming Language
In Lisp, DSL’s are free. In fact, practically any program written in Lisp could be considered to be a DSL.

Checklist for Xtext DSL implementations

MD*/DSL Best Practices
Update March 2011

InfoQ: DSL Evolution for Groovy Developers

On the semantics of (real-time) Domain Specific Modeling Languages

My Links

More links about DSLs are coming.

Keep tuned!

Angel “Java” Lopez