<?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 for 3 + 4</title>
	<atom:link href="http://blog.3plus4.org/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.3plus4.org</link>
	<description>The neighbourhood of 7</description>
	<lastBuildDate>Mon, 28 Nov 2011 19:21:45 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>Comment on Elements of Goodthink: Setter Sends by Brian T. Rice</title>
		<link>http://blog.3plus4.org/2011/11/10/elements-of-goodthink-setter-sends/comment-page-1/#comment-2004</link>
		<dc:creator>Brian T. Rice</dc:creator>
		<pubDate>Mon, 28 Nov 2011 19:21:45 +0000</pubDate>
		<guid isPermaLink="false">http://blog.3plus4.org/?p=184#comment-2004</guid>
		<description>Slate provides a special class of binary operator which is expanded like a Lisp macro. So := and ::= (immutable binding) and =:= (pattern match) expand into the appropriate message sends, with the special operators themselves having the precedence that &quot;we expect&quot; from assignment. Having this be an extensible class has been helpful, and having them be macros means that they&#039;re just performing normal source operations which usually don&#039;t violate encapsulation.</description>
		<content:encoded><![CDATA[<p>Slate provides a special class of binary operator which is expanded like a Lisp macro. So := and ::= (immutable binding) and =:= (pattern match) expand into the appropriate message sends, with the special operators themselves having the precedence that &#8220;we expect&#8221; from assignment. Having this be an extensible class has been helpful, and having them be macros means that they&#8217;re just performing normal source operations which usually don&#8217;t violate encapsulation.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on A Taste of Nested Classes, part 1 by Vassili Bykov</title>
		<link>http://blog.3plus4.org/2008/12/04/a-taste-of-nested-classes-part-1/comment-page-1/#comment-1843</link>
		<dc:creator>Vassili Bykov</dc:creator>
		<pubDate>Fri, 11 Nov 2011 16:11:49 +0000</pubDate>
		<guid isPermaLink="false">http://blog.3plus4.org/?p=86#comment-1843</guid>
		<description>Thank you, Damien! I fixed it in the post too.</description>
		<content:encoded><![CDATA[<p>Thank you, Damien! I fixed it in the post too.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on A Taste of Nested Classes, part 1 by Damien Cassou</title>
		<link>http://blog.3plus4.org/2008/12/04/a-taste-of-nested-classes-part-1/comment-page-1/#comment-1841</link>
		<dc:creator>Damien Cassou</dc:creator>
		<pubDate>Fri, 11 Nov 2011 12:21:39 +0000</pubDate>
		<guid isPermaLink="false">http://blog.3plus4.org/?p=86#comment-1841</guid>
		<description>The correct link to the &quot;On the Interaction of Method Lookup and Scope with Inheritance and Nesting&quot; article is http://bracha.org/dyla.pdf.</description>
		<content:encoded><![CDATA[<p>The correct link to the &#8220;On the Interaction of Method Lookup and Scope with Inheritance and Nesting&#8221; article is <a href="http://bracha.org/dyla.pdf" rel="nofollow">http://bracha.org/dyla.pdf</a>.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Elements of Goodthink: Setter Sends by Maurice Rabb</title>
		<link>http://blog.3plus4.org/2011/11/10/elements-of-goodthink-setter-sends/comment-page-1/#comment-1838</link>
		<dc:creator>Maurice Rabb</dc:creator>
		<pubDate>Fri, 11 Nov 2011 05:22:22 +0000</pubDate>
		<guid isPermaLink="false">http://blog.3plus4.org/?p=184#comment-1838</guid>
		<description>Hi Vassili, many moons ago when, I present this exact idea (including Travis&#039; extension) when I was working on Microlingua.  Great minds think a like. ;-)  Makes me want to pull all that stuck back out.  I need to check out your blog more often. :-)</description>
		<content:encoded><![CDATA[<p>Hi Vassili, many moons ago when, I present this exact idea (including Travis&#8217; extension) when I was working on Microlingua.  Great minds think a like. ;-)  Makes me want to pull all that stuck back out.  I need to check out your blog more often. :-)</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Elements of Goodthink: Setter Sends by Vassili Bykov</title>
		<link>http://blog.3plus4.org/2011/11/10/elements-of-goodthink-setter-sends/comment-page-1/#comment-1836</link>
		<dc:creator>Vassili Bykov</dc:creator>
		<pubDate>Fri, 11 Nov 2011 00:09:14 +0000</pubDate>
		<guid isPermaLink="false">http://blog.3plus4.org/?p=184#comment-1836</guid>
		<description>No, the syntax is explicitly &lt;identifier&gt;:: &lt;expression&gt;. No receiver, no stacking of colons, and no multiple keywords.</description>
		<content:encoded><![CDATA[<p>No, the syntax is explicitly &lt;identifier&gt;:: &lt;expression&gt;. No receiver, no stacking of colons, and no multiple keywords.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Elements of Goodthink: Setter Sends by Travis Griggs</title>
		<link>http://blog.3plus4.org/2011/11/10/elements-of-goodthink-setter-sends/comment-page-1/#comment-1835</link>
		<dc:creator>Travis Griggs</dc:creator>
		<pubDate>Thu, 10 Nov 2011 23:00:41 +0000</pubDate>
		<guid isPermaLink="false">http://blog.3plus4.org/?p=184#comment-1835</guid>
		<description>I think the stacking of colons is cool. Is it arbitrary? IOW can I use it on any message? And can I stack them as deep as I want? Could I hypothetically do something like

sequence add::: Customer name:: String with: &#039;Me&#039;

? Or is it just for setter sends?</description>
		<content:encoded><![CDATA[<p>I think the stacking of colons is cool. Is it arbitrary? IOW can I use it on any message? And can I stack them as deep as I want? Could I hypothetically do something like</p>
<p>sequence add::: Customer name:: String with: &#8216;Me&#8217;</p>
<p>? Or is it just for setter sends?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Selectors as Blocks by For.example &#187; Blog Archive &#187; Cyclomatic Complexity in Languages with Closures</title>
		<link>http://blog.3plus4.org/2007/03/27/selectors-as-blocks/comment-page-1/#comment-1736</link>
		<dc:creator>For.example &#187; Blog Archive &#187; Cyclomatic Complexity in Languages with Closures</dc:creator>
		<pubDate>Wed, 11 Nov 2009 12:08:53 +0000</pubDate>
		<guid isPermaLink="false">http://blog.3plus4.org/2007/03/27/selectors-as-blocks/#comment-1736</guid>
		<description>[...] if you are using selectors as blocks you might even get multiple path without a block, as for [...]</description>
		<content:encoded><![CDATA[<p>[...] if you are using selectors as blocks you might even get multiple path without a block, as for [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Selectors as Blocks by Adrian</title>
		<link>http://blog.3plus4.org/2007/03/27/selectors-as-blocks/comment-page-1/#comment-1735</link>
		<dc:creator>Adrian</dc:creator>
		<pubDate>Wed, 11 Nov 2009 09:38:58 +0000</pubDate>
		<guid isPermaLink="false">http://blog.3plus4.org/2007/03/27/selectors-as-blocks/#comment-1735</guid>
		<description>Cool stuff Vassili. You might even use the compiler to get rid of the manual #perform: in the blocks and thus speed up loops. Also nice is to use the same for sort blocks, 


Symbol &gt;&gt; asSortBlock
	&quot;Answer a sort block, which evaluates this symbol for both arguments
	and compares the resulting values&quot;
	&#124; stream &#124;
	stream := (String new: self size * 2 + 14) writeStream.
	stream 
		nextPutAll: &#039;[:a :b&#124;a &#039;;
		nextPutAll: self;
		nextPutAll: &#039;&lt;=b &#039;;
		nextPutAll: self;
		nextPut: $].
	^Compiler evaluate: stream contents
</description>
		<content:encoded><![CDATA[<p>Cool stuff Vassili. You might even use the compiler to get rid of the manual #perform: in the blocks and thus speed up loops. Also nice is to use the same for sort blocks, </p>
<p>Symbol &gt;&gt; asSortBlock<br />
	&#8220;Answer a sort block, which evaluates this symbol for both arguments<br />
	and compares the resulting values&#8221;<br />
	| stream |<br />
	stream := (String new: self size * 2 + 14) writeStream.<br />
	stream<br />
		nextPutAll: &#8216;[:a :b|a ';<br />
		nextPutAll: self;<br />
		nextPutAll: '&lt;=b ';<br />
		nextPutAll: self;<br />
		nextPut: $].<br />
	^Compiler evaluate: stream contents</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Currying in Smalltalk by Steve Taylor</title>
		<link>http://blog.3plus4.org/2007/03/23/currying-in-smalltalk/comment-page-1/#comment-1734</link>
		<dc:creator>Steve Taylor</dc:creator>
		<pubDate>Thu, 29 Oct 2009 23:52:42 +0000</pubDate>
		<guid isPermaLink="false">http://blog.3plus4.org/2007/03/23/currying-in-smalltalk/#comment-1734</guid>
		<description>Previous comment by &#039;Walter Arlene&#039; is spam (mouse over their name and see their url is a link to a classified ad site and their post is content free.)

Also - excellent post on currying. I&#039;m always blown away how Smalltalk (and some other dynamic languages, to be fair) can be made to do things they were never designed to do with minimal effort.</description>
		<content:encoded><![CDATA[<p>Previous comment by &#8216;Walter Arlene&#8217; is spam (mouse over their name and see their url is a link to a classified ad site and their post is content free.)</p>
<p>Also &#8211; excellent post on currying. I&#8217;m always blown away how Smalltalk (and some other dynamic languages, to be fair) can be made to do things they were never designed to do with minimal effort.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Hopscotch presentation video from lang.net by Rob Grainger</title>
		<link>http://blog.3plus4.org/2009/04/22/hopscotch-presentation-video-from-langnet/comment-page-1/#comment-1730</link>
		<dc:creator>Rob Grainger</dc:creator>
		<pubDate>Fri, 18 Sep 2009 00:19:31 +0000</pubDate>
		<guid isPermaLink="false">http://blog.3plus4.org/?p=175#comment-1730</guid>
		<description>I neglected to say, though, that the Hopscotch IDE is otherwise in many senses massively superior. The Eiffel IDE suffers massively from panelitis, and it offers a very strange development model to people coming from either the dynamic language or static language approach.</description>
		<content:encoded><![CDATA[<p>I neglected to say, though, that the Hopscotch IDE is otherwise in many senses massively superior. The Eiffel IDE suffers massively from panelitis, and it offers a very strange development model to people coming from either the dynamic language or static language approach.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

