[Haskell-cafe] What *is* a DSL?

Günther Schmidt gue.schmidt at web.de
Wed Oct 7 11:10:58 EDT 2009


Hi all,


for people that have followed my posts on the DSL subject this question  
probably will seem strange, especially asking it now.

I have read quite a lot lately on the subject, most of it written by the  
great old ones, (come on guys you know whom I mean :)).

What I could gather from their papers was, that a DSL is basically  
something entirely abstract as such, ie. it allows you build and combine  
expressions in a language which is specific for your problem domain.
Irregardless of further details on how to do that, and there are quite a  
few, the crux as such is that they are abstract of "meaning".

The meaning depends how you *evaluate* the expression, which can be in  
more than merely one way, which is where, as far as I understand it, the  
true power lies.


So, you might wonder, since I figured it out this far, why ask what a DSL  
is?

Because out there I see quite a lot of stuff that is labeled as DSL, I  
mean for example packages on hackage, quite useuful ones too, where I  
don't see the split of assembling an expression tree from evaluating it,  
to me that seems more like combinator libraries.

Thus:

What is a DSL?


Günther




More information about the Haskell-Cafe mailing list