[racket] Definition of DSL?
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.