<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Using Dot Notation for writing DSLs</title>
	<atom:link href="http://www.jrandolph.com/blog/2006/04/29/using-dot-notation-for-writing-dsls/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jrandolph.com/blog/2006/04/29/using-dot-notation-for-writing-dsls/</link>
	<description>software development and testing</description>
	<lastBuildDate>Thu, 24 Apr 2008 12:51:01 -0400</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: amix</title>
		<link>http://www.jrandolph.com/blog/2006/04/29/using-dot-notation-for-writing-dsls/comment-page-1/#comment-555</link>
		<dc:creator>amix</dc:creator>
		<pubDate>Tue, 02 May 2006 19:07:17 +0000</pubDate>
		<guid isPermaLink="false">http://www.jrandolph.com/blog/?p=29#comment-555</guid>
		<description>Really cool stuff ;)

I will also try something similar - This gives me some fresh ideas ;-]</description>
		<content:encoded><![CDATA[<p>Really cool stuff ;)</p>
<p>I will also try something similar &#8211; This gives me some fresh ideas ;-]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: B Mahoney</title>
		<link>http://www.jrandolph.com/blog/2006/04/29/using-dot-notation-for-writing-dsls/comment-page-1/#comment-552</link>
		<dc:creator>B Mahoney</dc:creator>
		<pubDate>Tue, 02 May 2006 01:14:15 +0000</pubDate>
		<guid isPermaLink="false">http://www.jrandolph.com/blog/?p=29#comment-552</guid>
		<description>If your domain language has any characters that do not parse well in the world of Python/Ruby, e.g., domain language uses a &#039;-&#039; which is interpreted as the minus sign, you will be entering kludgeville. (Override the __sub__  Yuck.) Or domain has a &quot;::&quot; ? 
So, you may need to tweak your original domain. Just be warned.

You do really need to think this out, else you will think of some great domain language syntax (great, as in just what is expected in the domain) which is simply impossible with the dot syntax. 

Aside from all that, the dot notation gives you some easy domain languages while letting you use all the tools of Python. 

If you have that under control, perhaps some &quot;property&quot; statements would make
your class code more meaningful than just the put / get statements.

That Java-based Squiggle language syntax is sort of sad by comparison with the Python syntax. And wouldn&#039;t you want to be to interpret users DSL chunks of code with an exec statment? Is there any Java equivalent to Python &#039;exec&#039; ?</description>
		<content:encoded><![CDATA[<p>If your domain language has any characters that do not parse well in the world of Python/Ruby, e.g., domain language uses a &#8216;-&#8217; which is interpreted as the minus sign, you will be entering kludgeville. (Override the <strong>sub</strong>  Yuck.) Or domain has a &#8220;::&#8221; ?<br />
So, you may need to tweak your original domain. Just be warned.</p>
<p>You do really need to think this out, else you will think of some great domain language syntax (great, as in just what is expected in the domain) which is simply impossible with the dot syntax. </p>
<p>Aside from all that, the dot notation gives you some easy domain languages while letting you use all the tools of Python. </p>
<p>If you have that under control, perhaps some &#8220;property&#8221; statements would make<br />
your class code more meaningful than just the put / get statements.</p>
<p>That Java-based Squiggle language syntax is sort of sad by comparison with the Python syntax. And wouldn&#8217;t you want to be to interpret users DSL chunks of code with an exec statment? Is there any Java equivalent to Python &#8216;exec&#8217; ?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Efrem Lipkin</title>
		<link>http://www.jrandolph.com/blog/2006/04/29/using-dot-notation-for-writing-dsls/comment-page-1/#comment-551</link>
		<dc:creator>Efrem Lipkin</dc:creator>
		<pubDate>Tue, 02 May 2006 01:03:39 +0000</pubDate>
		<guid isPermaLink="false">http://www.jrandolph.com/blog/?p=29#comment-551</guid>
		<description>Huh?

To quote: &quot;I didn’t really &#039;get&#039; LISP, Scheme, Tcl, and Rexx, etc. until recently when I realized that those languages were really tuned for creating DSLs. I also finally “got” that those languages sucked, too, because there’s an inherent &#039;lass ceiling&#039; to doing non-DSL development in those languages.&quot;

This is true of Tcl and maybe Rexx, but Lisp and Scheme (espeically with the Common Lisp Object System) are significantly more powerful than Python and Ruby and could be said to fully contain their semantics. Even Ruby&#039;s term &#039;Mixin&#039; comes from an ancient Lisp object system called Flavors. The problem with Lisp is that it is too powerful and too extensible for many programmers to handle. It used to have perforance problems, but I think a modern Lisp would execute at least as fast as Java.</description>
		<content:encoded><![CDATA[<p>Huh?</p>
<p>To quote: &#8220;I didn’t really &#8216;get&#8217; LISP, Scheme, Tcl, and Rexx, etc. until recently when I realized that those languages were really tuned for creating DSLs. I also finally “got” that those languages sucked, too, because there’s an inherent &#8216;lass ceiling&#8217; to doing non-DSL development in those languages.&#8221;</p>
<p>This is true of Tcl and maybe Rexx, but Lisp and Scheme (espeically with the Common Lisp Object System) are significantly more powerful than Python and Ruby and could be said to fully contain their semantics. Even Ruby&#8217;s term &#8216;Mixin&#8217; comes from an ancient Lisp object system called Flavors. The problem with Lisp is that it is too powerful and too extensible for many programmers to handle. It used to have perforance problems, but I think a modern Lisp would execute at least as fast as Java.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jason Huggins</title>
		<link>http://www.jrandolph.com/blog/2006/04/29/using-dot-notation-for-writing-dsls/comment-page-1/#comment-550</link>
		<dc:creator>Jason Huggins</dc:creator>
		<pubDate>Mon, 01 May 2006 16:49:49 +0000</pubDate>
		<guid isPermaLink="false">http://www.jrandolph.com/blog/?p=29#comment-550</guid>
		<description>Sam, I was kidding about the manifesto bit. ;-)</description>
		<content:encoded><![CDATA[<p>Sam, I was kidding about the manifesto bit. ;-)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sam Newman</title>
		<link>http://www.jrandolph.com/blog/2006/04/29/using-dot-notation-for-writing-dsls/comment-page-1/#comment-549</link>
		<dc:creator>Sam Newman</dc:creator>
		<pubDate>Mon, 01 May 2006 09:41:52 +0000</pubDate>
		<guid isPermaLink="false">http://www.jrandolph.com/blog/?p=29#comment-549</guid>
		<description>Write a manifesto? Heck, I&#039;m just copying JMock-style use of Java as a DSL...

Squiggle wasn&#039;t part of some great plan - I just started using J Walnes&#039; old version (setter based) for a DB testing framework and reaslised it would be much more natural to use with a QueryBuilder-style API. 

As to whether or not people who used Squiggle 2 would then start writing/using business-oriented DSLs I really don&#039;t know.</description>
		<content:encoded><![CDATA[<p>Write a manifesto? Heck, I&#8217;m just copying JMock-style use of Java as a DSL&#8230;</p>
<p>Squiggle wasn&#8217;t part of some great plan &#8211; I just started using J Walnes&#8217; old version (setter based) for a DB testing framework and reaslised it would be much more natural to use with a QueryBuilder-style API. </p>
<p>As to whether or not people who used Squiggle 2 would then start writing/using business-oriented DSLs I really don&#8217;t know.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jason Huggins</title>
		<link>http://www.jrandolph.com/blog/2006/04/29/using-dot-notation-for-writing-dsls/comment-page-1/#comment-548</link>
		<dc:creator>Jason Huggins</dc:creator>
		<pubDate>Mon, 01 May 2006 01:49:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.jrandolph.com/blog/?p=29#comment-548</guid>
		<description>Sam, very interesting! I hadn&#039;t heard about squigle (or squiggle 2) until your reply here. 

So, do we have a quorum to write a manifesto or something, yet? :-)</description>
		<content:encoded><![CDATA[<p>Sam, very interesting! I hadn&#8217;t heard about squigle (or squiggle 2) until your reply here. </p>
<p>So, do we have a quorum to write a manifesto or something, yet? :-)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sam Newman</title>
		<link>http://www.jrandolph.com/blog/2006/04/29/using-dot-notation-for-writing-dsls/comment-page-1/#comment-547</link>
		<dc:creator>Sam Newman</dc:creator>
		<pubDate>Sun, 30 Apr 2006 20:47:36 +0000</pubDate>
		<guid isPermaLink="false">http://www.jrandolph.com/blog/?p=29#comment-547</guid>
		<description>Shucks - seems this is really flavour of the month right now - (http://www.magpiebrain.com/blog/2006/04/24/more-squiggle/)</description>
		<content:encoded><![CDATA[<p>Shucks &#8211; seems this is really flavour of the month right now &#8211; (<a href="http://www.magpiebrain.com/blog/2006/04/24/more-squiggle/" rel="nofollow">http://www.magpiebrain.com/blog/2006/04/24/more-squiggle/</a>)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mike Williams</title>
		<link>http://www.jrandolph.com/blog/2006/04/29/using-dot-notation-for-writing-dsls/comment-page-1/#comment-543</link>
		<dc:creator>Mike Williams</dc:creator>
		<pubDate>Sat, 29 Apr 2006 13:50:54 +0000</pubDate>
		<guid isPermaLink="false">http://www.jrandolph.com/blog/?p=29#comment-543</guid>
		<description>Interesting stuff, Jason.  It has similarities with the stuff Nat Pryce did around &quot;Higher Order Messages&quot; (in Ruby, though I suspect you could do similar in Python).  See
http://nat.truemesh.com/archives/000535.html

I can see how the extra &quot;words&quot; could make a test more understandable - for non-programmers - but I suspect all the dots would confuse the hell out of them :-(</description>
		<content:encoded><![CDATA[<p>Interesting stuff, Jason.  It has similarities with the stuff Nat Pryce did around &#8220;Higher Order Messages&#8221; (in Ruby, though I suspect you could do similar in Python).  See<br />
<a href="http://nat.truemesh.com/archives/000535.html" rel="nofollow">http://nat.truemesh.com/archives/000535.html</a></p>
<p>I can see how the extra &#8220;words&#8221; could make a test more understandable &#8211; for non-programmers &#8211; but I suspect all the dots would confuse the hell out of them :-(</p>
]]></content:encoded>
	</item>
</channel>
</rss>

