[racket] Definition of DSL?

From: Grant Rettke (grettke at acm.org)
Date: Mon Jun 24 16:24:05 EDT 2013

On Mon, Jun 24, 2013 at 1:12 PM, Nick Shelley <nickmshelley at gmail.com> wrote:
> Since I'm not very experienced in this at all, I thought I'd ask the list
> what definition of DSL is most correct and adopt that one. Any thoughts will
> be appreciated.

It depends who is defining it.

Java doesn't have rich syntactic extension abilities, so you end up
realizing a DSL tailored to the problem at hand entirely within the
limitation of the language; basically you end up doing well-known
object-oriented patterns. For me, this is a DSL, using the machinery
available, for that client. It is a solution in the language of the
client. Most Java people would say no that isn't a DSL, you gotta use
Antlr and code-generation to do a DSL, so well perhaps they are
correct too, they view DSLs realizing syntax not achievable in the
host language.

By both of those definitions, are free to realize a DSL as you wish in
Racket, there are no restrictions, it is just built in, add syntax,
use objects, use functions, realize a DSL however you wish.

Surely by someone else's definition, mine is wrong here, too.

Posted on the users mailing list.