DSL? DSD? DSJ?

by James Britt

Over on the consistently good Lambda the Ultimate is a discussion prompted by Tim Bray's posting, Don’t Invent XML Languages.
Somewhere in the LtU thread is a comment from Kay Schluehr::
A family of operators is not a language, not even a dialect. It is at most a jargon ( or gibberish ;)

Ruby is very good for creating DSLs (domain-specific languages), and this comment made me wonder:

  • When does something become a DSL?

  • What do domain-specific dialects and domain-specific jargon look like?

  • When would you opt to design a DSD or DSJ?