DSLs(Domain Specific Programming Languages) implemented using different GPLs(General Purpose Programming Languages)
문제
I am looking for DSLs implemented using general purpose programming languages(GPLs) e.g., C#, Java , Scala and so on. Primary goal is to survey various important attributes of well-designed DSL implementations used in a daily basis in Software Industry.
I would highly appreciate if you could point me out such DSL implementations (examples or repositories) and state your reasons why you consider it to be a good DSL.
Thank you,
Adil Akhter
EDIT 1:
IMHO, this post can contribute to create a listing of interesting prevailing DSLs used extensively in today’s Software Development (after searching, at least I could not find any such listings covering all the GPLs).
One of the several inherent benefits of this listing – it can be used create taxonomy of the DSLs and domain they are targeting to.
Followings are the related links that describes some interesting DSLs and Tools:
DSLs( categorized by GPLs):
- Ruby DSLs => Ruby DSL (Domain Specific Language) repositories, examples
- Clojure DSLs => Are there any Clojure DSLs?
- Scala DSLs => Interesting DSLs, Implemented in Scala?
- C# DSLs => SharpDOM ( http://sharpdom.codeplex.com )
Tools:
- Microsoft Visual Studio Visualization and Modeling SDK : http://code.msdn.microsoft.com/vsvmsdk
해결책
take a look at boost.spirit2 to find a very complex DSL in a mainstream language. Otherwise you could look at any dialect of lisp which makes it very easy to write DSLs and so you will find lots of them.
다른 팁
You might consider non-procedural techniques for implementing DSLs, such as (our) program transformation system. I think you will find them surprisingly powerful.