<p>I was just listening to some older .Net Rocks! episodes, and I <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=D91887EA-5128-4BB1-B861-1DC1F9564941&amp;displaylang=en" rel="nofollow noreferrer">found #329 on DSLs</a> 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.</p>

<p>Does anyone know of some good introductory resources for the MS DSL tools?</p>

[{'answer_id': 4477, 'author': 'Chris Bunch', 'author_id': 422, 'author_profile': 'https://Stackoverflow.com/users/422', 'pm_score': 1, 'selected': False, 'text': '<p>Since you\'re looking to the MS-world, you may want to look at <a href="http://research.microsoft.com/fsharp/fsharp.aspx" rel="nofollow noreferrer">F#</a>. It offers the ability to extend its syntax to write domain specific languages (see <a href="http://tomasp.net/articles/fsharp-i-introduction/article.pdf" rel="nofollow noreferrer">this link</a>, page 16 for sample code).</p>\n'}, {'answer_id': 7070, 'author': 'Dominic Cooney', 'author_id': 878, 'author_profile': 'https://Stackoverflow.com/users/878', 'pm_score': 4, 'selected': True, 'text': '<p>The architects of the DSL Tools team wrote a book, <a href="https://rads.stackoverflow.com/amzn/click/com/0321398203" rel="nofollow noreferrer" rel="nofollow noreferrer">Domain-Specific Development with Visual Studio DSL Tools.</a> The book\'s <a href="http://www.domainspecificdevelopment.com/" rel="nofollow noreferrer">website</a> has some other links and resources.</p>\n'}, {'answer_id': 7078, 'author': 'Justin Standard', 'author_id': 92, 'author_profile': 'https://Stackoverflow.com/users/92', 'pm_score': 2, 'selected': False, 'text': '<p>If you are interested in DSLs, <a href="http://www.moserware.com/" rel="nofollow noreferrer">Jeff Moser</a> has written some great articles about them (and the \'meta\' frame of mind you need) <a href="http://www.moserware.com/2008/04/towards-moores-law-software-part-3-of-3.html" rel="nofollow noreferrer">here,</a> <a href="http://www.moserware.com/2008/06/ometa-who-what-when-where-why.html" rel="nofollow noreferrer">here,</a> and <a href="http://www.moserware.com/2008/07/building-object-oriented-parasitic.html" rel="nofollow noreferrer">here</a> on his blog.</p>\n'}, {'answer_id': 36649, 'author': 'Sam McAfee', 'author_id': 577, 'author_profile': 'https://Stackoverflow.com/users/577', 'pm_score': 2, 'selected': False, 'text': '<p><a href="http://www.martinfowler.com/dslwip/" rel="nofollow noreferrer">Martin Fowler</a> is currently writing a book on DSL. Here is a <a href="http://www.infoq.com/presentations/domain-specific-languages" rel="nofollow noreferrer">presentation</a> he gave on the topic.</p>\n'}, {'answer_id': 62093, 'author': 'Chris Canal', 'author_id': 5802, 'author_profile': 'https://Stackoverflow.com/users/5802', 'pm_score': 0, 'selected': False, 'text': '<p>A fantastic option for DSLs is <a href="http://boo.codehaus.org/" rel="nofollow noreferrer">Boo</a>.  I\'ve been using it for things like setting up my IoC container, defining routes, validation rules.  <a href="http://www.ayende.com/Blog/" rel="nofollow noreferrer">Ayende Rahien</a> is writing an fantastic book on the subject for Manning called <a href="http://www.manning.com/rahien/" rel="nofollow noreferrer">Building Domain Specific Languages in Boo</a></p>\n'}, {'answer_id': 62128, 'author': 'prakash', 'author_id': 123, 'author_profile': 'https://Stackoverflow.com/users/123', 'pm_score': 0, 'selected': False, 'text': '<ul>\n<li><a href="http://www.se-radio.net/tags/dsls" rel="nofollow noreferrer">PODCAST:  DSL Related Discussions in SE-Radio</a></li>\n</ul>\n'}, {'answer_id': 62136, 'author': 'Johnno Nolan', 'author_id': 1116, 'author_profile': 'https://Stackoverflow.com/users/1116', 'pm_score': 0, 'selected': False, 'text': '<p>Martin Fowler is writing a book on DSLs. You can read his work so far <a href="http://www.martinfowler.com/dslwip/" rel="nofollow noreferrer">here</a> <a href="http://www.martinfowler.com/dslwip/" rel="nofollow noreferrer">http://www.martinfowler.com/dslwip/</a></p>\n\n<p>I also went to a good presentation by <a href="http://blog.jayfields.com/" rel="nofollow noreferrer">Jay Fields</a> (His slides are <a href="http://manchestergeeknights.wetpaint.com/page/The+5Ws+of+DSLs" rel="nofollow noreferrer">here</a>).</p>\n'}, {'answer_id': 71814, 'author': 'Alex Duggleby', 'author_id': 5790, 'author_profile': 'https://Stackoverflow.com/users/5790', 'pm_score': 1, 'selected': False, 'text': '<p>I found the following page with a number of webcasts very usefull:</p>\n\n<p><a href="http://msdn.microsoft.com/en-us/vsx/cc677256.aspx" rel="nofollow noreferrer">http://msdn.microsoft.com/en-us/vsx/cc677256.aspx</a></p>\n'}, {'answer_id': 78940, 'author': 'Community', 'author_id': -1, 'author_profile': 'https://Stackoverflow.com/users/-1', 'pm_score': 0, 'selected': False, 'text': '<p>I would recommend <a href="http://msdn.microsoft.com/en-us/vsx/cc677256.aspx" rel="nofollow noreferrer">http://msdn.microsoft.com/en-us/vsx/cc677256.aspx</a> for DSL Tools as a starter.</p>\n\n<p>Also, check out the concept of MDSD (Model Driven Development). \nAn expert on that topic (and DSL\'s) is Markus Voelter: <a href="http://www.voelter.de/" rel="nofollow noreferrer">http://www.voelter.de/</a></p>\n\n<p>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.\nThat\'s one of the reasons why it\'s hard to find good information about the topic.</p>\n\n<p>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.</p>\n'}, {'answer_id': 144157, 'author': 'SeeR', 'author_id': 22569, 'author_profile': 'https://Stackoverflow.com/users/22569', 'pm_score': 2, 'selected': False, 'text': '<p>For me the best source of T4 examples was <a href="http://www.olegsych.com/" rel="nofollow noreferrer">this</a> blog.</p>\n'}, {'answer_id': 974073, 'author': 'Mark', 'author_id': 116671, 'author_profile': 'https://Stackoverflow.com/users/116671', 'pm_score': 0, 'selected': False, 'text': '<p>Here\'s a few more websites that I find useful:</p>\n\n<ul>\n<li><a href="http://channel9.msdn.com/posts/AnthonyC/Advanced-code-generation-patterns-with-T4--DSL-Tools/" rel="nofollow noreferrer">Advanced code generation patterns</a></li>\n<li><a href="http://www.codeplex.com/DslFactoryUtilities" rel="nofollow noreferrer">DslFactoryUtilities</a></li>\n<li><a href="http://code.msdn.microsoft.com/DslTools" rel="nofollow noreferrer">DslTools</a></li>\n</ul>\n'}, {'answer_id': 7072092, 'author': 'GarethJ', 'author_id': 330543, 'author_profile': 'https://Stackoverflow.com/users/330543', 'pm_score': 0, 'selected': False, 'text': '<p>For the Visual Studio DSL Tools (tooling to add graphical DSLs to Visual Studio), there\'s an introductory hands on lab here: <a href="http://code.msdn.microsoft.com/Visualization-and-Modeling-313535db" rel="nofollow">http://code.msdn.microsoft.com/Visualization-and-Modeling-313535db</a></p>\n\n<p>The homepage for the tooling with links to other samples is here: <a href="http://archive.msdn.microsoft.com/vsvmsdk" rel="nofollow">http://archive.msdn.microsoft.com/vsvmsdk</a></p>\n'}]
['https://Stackoverflow.com/questions/4458', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/100/']