tags:

views:

556

answers:

11

I was just listening to some older .Net Rocks! episodes, and I found #329 on DSLs to be interesting. My problem is that I can't find any good online resources for people trying to learn this technology. I get the basics of the creating new designers, but the MS docs on the T4 engine used by the DSL tools and then how to integrate the templates with the DSL models are lacking.

Does anyone know of some good introductory resources for the MS DSL tools?

+1  A: 

Since you're looking to the MS-world, you may want to look at F#. It offers the ability to extend its syntax to write domain specific languages (see this link, page 16 for sample code).

Chris Bunch
+4  A: 

The architects of the DSL Tools team wrote a book, Domain-Specific Development with Visual Studio DSL Tools. The book's website has some other links and resources.

Dominic Cooney
+3  A: 

If you are interested in DSLs, Jeff Moser has written some great articles about them (and the 'meta' frame of mind you need) here, here, and here on his blog.

Justin Standard
+2  A: 

Martin Fowler is currently writing a book on DSL. Here is a presentation he gave on the topic.

Sam McAfee
A: 

A fantastic option for DSLs is Boo. I've been using it for things like setting up my IoC container, defining routes, validation rules. Ayende Rahien is writing an fantastic book on the subject for Manning called Building Domain Specific Languages in Boo

Chris Canal
A: 

Martin Fowler is writing a book on DSLs. You can read his work so far here http://www.martinfowler.com/dslwip/

I also went to a good presentation by Jay Fields (His slides are here).

John Nolan
+1  A: 

I found the following page with a number of webcasts very usefull:

http://msdn.microsoft.com/en-us/vsx/cc677256.aspx

AlexDuggleby
A: 

I would recommend http://msdn.microsoft.com/en-us/vsx/cc677256.aspx for DSL Tools as a starter.

Also, check out the concept of MDSD (Model Driven Development). An expert on that topic (and DSL's) is Markus Voelter: http://www.voelter.de/

I believe there are so many similarities between MDSD, Software Production Lines and DSL's in general that this 'new' way of doing things needs to clean up it's concepts. That's one of the reasons why it's hard to find good information about the topic.

On another note, acm.org has an extensive digital library of research articles, articles from various conferences (such as OOPSLA), where you can find much information about DSL's, language designs, SPL, MDSD, and so forth.

+2  A: 

For me the best source of T4 examples was this blog.

SeeR
A: 

Here's a few more websites that I find useful:

Mark