A DSL, or domain specific language, is a (usually small) programming or description language designed for a fairly narrow purpose. They stand in contrast to general-purpose languages (GPLs) that are designed to handle arbitrary computational tasks. Broadly speaking, there are two ways to create a DSL. One is to invent a syntax from scratch, and build an interpreter or compiler. The dslruby in Public bookmarkswith dslby 2 users