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.