<?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 : Tag ruby</title>
    <link>http://www.warneronstine.com/blog/articles/tag/ruby</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description>Where technology and art disappear</description>
    <item>
      <title>Groovy as a DSL</title>
      <description>&lt;p&gt;Guillame Laforge (one of the Groovy programmers) &lt;a href="http://glaforge.free.fr/weblog/index.php?itemid=187" title="From named-parameters to Domain-Specific Languages"&gt;posted his thoughts&lt;/a&gt; on using Groovy as a DSL.&lt;/p&gt;

&lt;blockquote&gt;
    &lt;p&gt;With the help of closures, methods, operator overloading, adding
    properties &amp;amp; methods to classes, with named parameters and so on, you
    can quickly come up with a language of your own, a DSL, targeted at
    the subject you&amp;#8217;re dealing with.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This was in response to an article that ran on Artima &lt;a href="http://www.artima.com/rubycs/articles/ruby_as_dslP.html" title="Creating DSLs with Ruby"&gt;&amp;#8220;Creating DSLs with Ruby&amp;#8221;&lt;/a&gt;, of which most of the examples could be easily modified to Groovy code.&lt;/p&gt;

&lt;p&gt;The Groovy team has created a page, &amp;#8220;Writing Domain-Specific Languages&amp;#8221;, to showcase some of the examples of using Groovy as a DSL, which I will probably be committing more to as the &lt;a href="http://warneronstine.com/cgi-bin/trac.cgi" title="Chama Web DSL"&gt;Chama&lt;/a&gt; project continues.&lt;/p&gt;</description>
      <pubDate>Sat, 09 Dec 2006 11:21:00 -0700</pubDate>
      <guid isPermaLink="false">urn:uuid:14d4b3e7-4209-40ee-8154-463e0e5b5bb4</guid>
      <author>Warner Onstine</author>
      <link>http://www.warneronstine.com/blog/articles/2006/12/09/groovy-as-a-dsl</link>
      <category>programming</category>
      <category>dsl</category>
      <category>groovy</category>
      <category>ruby</category>
      <trackback:ping>http://www.warneronstine.com/blog/articles/trackback/5</trackback:ping>
    </item>
  </channel>
</rss>
