A programming language specialized to a particular application domain (fields of applications). HTML is an example of a DSL for the domain of web pages. The language is dedecated to:
SQL, TeX, CSS, XML variants...
Internal DSL is embedded in a programming language, and its structure is dependent on the parent language. Easier to implement.
External DSL is a separate language with the particular domain in mind. Gives more syntax flexibility but harder to implement.