What is a Domain Specific Language?
A programming language tailored for a particular application domain, which captures precisely the semantics of the application domain -- no more, no less.
A DSL allows one to develop software for a particular application domain quickly, and effectively, yielding programs that are easy to understand, reason about, and maintain.