<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="/stylesheets/rss.css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>BlackBox : DSL book in progress</title>
    <link>http://www.warneronstine.com/blog/articles/2007/10/10/dsl-book-in-progress</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description>Where technology and art disappear</description>
    <item>
      <title>DSL book in progress</title>
      <description>&lt;p&gt;Now that things feel a little bit more final to me I thought I would take this opportunity to announce the book that&amp;#8217;s been keeping me from blogging. The tentative title is Creating DSLs using Java and Groovy and it will be published by &lt;a href="http://www.pragprog.com/"&gt;Pragmatic Programmers&lt;/a&gt;. I started working on this idea after last years &lt;a href="http://nofluffjuststuff.com"&gt;No Fluff Just Stuff&lt;/a&gt; where I saw &lt;a href="http://www.nealford.com/"&gt;Neal Ford&lt;/a&gt; speak on DSLs and I talked to him briefly about a project I was working on. His talk inspired me to push forward with using DSLs for code generation specifically using Groovy.&lt;/p&gt;

&lt;p&gt;The book will cover both Java and Groovy techniques for writing DSLs, as well as have some general guidelines for writing DSLs. We also have a chapter on &lt;a href="http://antlr.org"&gt;ANTLR&lt;/a&gt; and &lt;a href="https://javacc.dev.java.net/"&gt;JavaCC&lt;/a&gt; for writing external DSLs using Java. I tried to cover as much as I could of Groovy meta-programming and some of the additional capabilities of Groovy that make it a good language to write an internal DSL on top of, but there&amp;#8217;s only so much space ;-).&lt;/p&gt;

&lt;p&gt;We just sent off the book for peer review, which means its about half-way finished, maybe a little more. We are currently shooting for a release date sometime early next year, which looks very doable at this point, but I expect a ton of edits to come back from this first review. &lt;/p&gt;

&lt;p&gt;On a final note I just want to say what a pleasure it has been working with the PragProg crew. I love, love, love their &lt;a href="http://www.pragprog.com/write-for-us"&gt;book build system&lt;/a&gt; and my editor Susannah rocks. I have had a blast working with them so far on this book and am looking forward to finishing this up and getting it published.&lt;/p&gt;</description>
      <pubDate>Wed, 10 Oct 2007 09:44:00 -0700</pubDate>
      <guid isPermaLink="false">urn:uuid:0fafb693-2a37-4d0f-9238-18cdea59d12e</guid>
      <author>Warner Onstine</author>
      <link>http://www.warneronstine.com/blog/articles/2007/10/10/dsl-book-in-progress</link>
      <category>programming</category>
      <category>writing</category>
      <category>groovy</category>
      <category>java</category>
      <category>dsl</category>
      <category>writings</category>
      <trackback:ping>http://www.warneronstine.com/blog/articles/trackback/303</trackback:ping>
    </item>
    <item>
      <title>"DSL book in progress" by Warner Onstine</title>
      <description>&lt;p&gt;Thanks all for the comments, I will be keeping everyone up to date on the progress of things.&lt;/p&gt;

&lt;p&gt;@Tom - I'll let you know if we lose any reviewers this round.&lt;/p&gt;

&lt;p&gt;@Ken - Your work sounds really interesting let's definitely chat!&lt;/p&gt;

&lt;p&gt;-warner&lt;/p&gt;</description>
      <pubDate>Tue, 16 Oct 2007 07:50:22 -0700</pubDate>
      <guid isPermaLink="false">urn:uuid:be368b65-b1d2-45e0-b39f-d275f692e72d</guid>
      <link>http://www.warneronstine.com/blog/articles/2007/10/10/dsl-book-in-progress#comment-42</link>
    </item>
    <item>
      <title>"DSL book in progress" by k.barclay@napier.ac.uk</title>
      <description>&lt;p&gt;Warner&lt;/p&gt;

&lt;p&gt;These past 6 months I have been investigating how we might provide support for external DSLs in Groovy. I was particulary keen to find a 'groovy' solution.&lt;/p&gt;

&lt;p&gt;This led me to consider combinator parsers as a means of defining the language of the DSL. I have been able to implement a meaningful combinator library using Groovy closures. The code is surprisingly small by quite expressive. With the combinators I am able to directly express in Groovy the DSL grammar. One of the simple combinators then allows me to define a transformation of the parsed input into an AST.&lt;/p&gt;

&lt;p&gt;Presently I am extending this work to incorporate error reporting. This too is a combinator that makes a parser report errors should it fail.&lt;/p&gt;

&lt;p&gt;I would be pleased to discuss my work with you. I hope to get some stuff onto one of the Groovy blogs that describes all this.&lt;/p&gt;

&lt;p&gt;Ken&lt;/p&gt;</description>
      <pubDate>Tue, 16 Oct 2007 02:07:37 -0700</pubDate>
      <guid isPermaLink="false">urn:uuid:d61cd0cf-37c3-4917-8969-effcc4646baa</guid>
      <link>http://www.warneronstine.com/blog/articles/2007/10/10/dsl-book-in-progress#comment-41</link>
    </item>
    <item>
      <title>"DSL book in progress" by Groovy Caesar</title>
      <description>&lt;p&gt;I have been waiting for a book like this. Good luck.&lt;/p&gt;

&lt;p&gt;I'll be purchasing mine on the first day of release!!&lt;/p&gt;</description>
      <pubDate>Fri, 12 Oct 2007 11:24:24 -0700</pubDate>
      <guid isPermaLink="false">urn:uuid:5cb4e391-7b31-4e30-a789-d82285240b59</guid>
      <link>http://www.warneronstine.com/blog/articles/2007/10/10/dsl-book-in-progress#comment-40</link>
    </item>
    <item>
      <title>"DSL book in progress" by Claus Hausberger</title>
      <description>&lt;p&gt;very cool. consider one sold !!&lt;/p&gt;

&lt;p&gt;Claus&lt;/p&gt;</description>
      <pubDate>Fri, 12 Oct 2007 00:44:41 -0700</pubDate>
      <guid isPermaLink="false">urn:uuid:71c3575a-c675-480d-91eb-a4662efed63e</guid>
      <link>http://www.warneronstine.com/blog/articles/2007/10/10/dsl-book-in-progress#comment-39</link>
    </item>
    <item>
      <title>"DSL book in progress" by Tom Copeland</title>
      <description>&lt;p&gt;Hi Warner - you may have all the reviewers you need, but if you want someone to take a look at the JavaCC bits I'd be happy too; just let me know.  And best of luck with the book, sounds like a great project!&lt;/p&gt;</description>
      <pubDate>Thu, 11 Oct 2007 08:51:16 -0700</pubDate>
      <guid isPermaLink="false">urn:uuid:6fc22177-88aa-4ab3-b0d8-af6c43006547</guid>
      <link>http://www.warneronstine.com/blog/articles/2007/10/10/dsl-book-in-progress#comment-38</link>
    </item>
    <item>
      <title>"DSL book in progress" by Dierk K&#246;nig</title>
      <description>&lt;p&gt;How cool!&lt;/p&gt;

&lt;p&gt;Good luck for your book! 
I can hardly wait to have it in my hands.&lt;/p&gt;

&lt;p&gt;Dierk&lt;/p&gt;</description>
      <pubDate>Wed, 10 Oct 2007 14:47:27 -0700</pubDate>
      <guid isPermaLink="false">urn:uuid:968b79ac-688f-4e3b-806b-ff1b0e69c3b4</guid>
      <link>http://www.warneronstine.com/blog/articles/2007/10/10/dsl-book-in-progress#comment-37</link>
    </item>
  </channel>
</rss>
