 The domain-specific language DSL is a computer language specialized to a particular application domain. This is in contrast to a general-purpose language GPL which is broadly applicable across domains. There are a wide variety of DSLs, ranging from widely used languages for common domains, such as HTML for webpages, down to languages used by only one or a few pieces of software, such as MuchSoft code. DSLs can be further subdivided by the kind of language, and include domain-specific markup languages, domain-specific modeling languages more generally, specification languages and domain-specific programming languages. General-purpose computer languages have always existed in the computer age, but the term domain-specific language has become more popular due to the rise of domain-specific modeling. Simpler DSLs, particularly ones used by a single application, are sometimes informally called mini-languages. The line between general-purpose languages and domain-specific languages is not always sharp, as a language may have specialized features for a particular domain but be applicable more broadly, or conversely may in principle be capable of broad application but in practice used primarily for a specific domain. For example, Perl was originally developed as a text-processing and glue language for the same domain as Auk and Shell scripts, but was mostly used as a general-purpose programming language later on. By contrast, PostScript is a Turing-complete language, and in principle can be used for any task, but in practice is narrowly used as a page description language.