Latest Additions

April 09, 2011
FTP Queue Server
Design Overview The goal was to develop a revision to the standard FTP server which allows people...
February 23, 2011
ExtJS Xtype List
xtype Class box Ext BoxComponent button Ext Button colorpalette Ext ColorPalette component Ext...

Site Search

Domain-Specific Programming Language (DSL)

DSL is a programming 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 of domain-specific modeling.

Examples of domain-specific languages include Logo for children, Verilog and VHSIC hardware description languages, R and S languages for statistics, Mata for matrix programming, Mathematica and Maxima for symbolic mathematics, spreadsheet formulas and macros, SQL for relational database queries, YACC grammars for creating parsers, regular expressions for specifying lexers, the Generic Eclipse Modeling System for creating diagramming languages, Csound, a language for digital synthesis, and the input languages of GraphViz and GrGen, software packages used for graph layout and graph rewriting.

The opposite is:


Creating a domain-specific language (with software to support it) can be worthwhile if the language allows a particular type of problems or solutions to them to be expressed more clearly than pre-existing languages would allow, and the type of problem in question reappears sufficiently often. Language Oriented Programming considers the creation of special-purpose languages for expressing problems a standard part of the problem solving process.

This topic was last modified on 03-31-2010 and has had 116 hits. These are popular related words: