<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments for (λ x. x x) (λ x. x x)</title>
	<atom:link href="http://vijaymathew.wordpress.com/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://vijaymathew.wordpress.com</link>
	<description>A programmer&#039;s blog.</description>
	<lastBuildDate>Fri, 14 Aug 2009 22:36:32 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>Comment on Spark moves to GitHub by amit</title>
		<link>http://vijaymathew.wordpress.com/2009/08/12/spark-moves-to-github/#comment-29</link>
		<dc:creator>amit</dc:creator>
		<pubDate>Fri, 14 Aug 2009 22:36:32 +0000</pubDate>
		<guid isPermaLink="false">http://vijaymathew.wordpress.com/?p=450#comment-29</guid>
		<description>I am hoping to get started soon with it :)</description>
		<content:encoded><![CDATA[<p>I am hoping to get started soon with it <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Yaaec (Yet another attempt to explain continuations)! by vijaymathew</title>
		<link>http://vijaymathew.wordpress.com/2009/07/22/yaaec-yet-another-attempt-to-explain-continuations/#comment-28</link>
		<dc:creator>vijaymathew</dc:creator>
		<pubDate>Thu, 30 Jul 2009 05:37:08 +0000</pubDate>
		<guid isPermaLink="false">http://vijaymathew.wordpress.com/?p=425#comment-28</guid>
		<description>This post was redditted: http://www.reddit.com/r/programming/search?q=Yaaec.</description>
		<content:encoded><![CDATA[<p>This post was redditted: <a href="http://www.reddit.com/r/programming/search?q=Yaaec" rel="nofollow">http://www.reddit.com/r/programming/search?q=Yaaec</a>.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Yaaec (Yet another attempt to explain continuations)! by vijaymathew</title>
		<link>http://vijaymathew.wordpress.com/2009/07/22/yaaec-yet-another-attempt-to-explain-continuations/#comment-27</link>
		<dc:creator>vijaymathew</dc:creator>
		<pubDate>Tue, 28 Jul 2009 12:25:57 +0000</pubDate>
		<guid isPermaLink="false">http://vijaymathew.wordpress.com/?p=425#comment-27</guid>
		<description>Hello Aaron,

Thanks for reading my blog and posting comments. I agree with what you said. But I think you haven&#039;t read the whole article. I explain later that a continuation actually represents the call stack. 

Thanks,

-- Vijay</description>
		<content:encoded><![CDATA[<p>Hello Aaron,</p>
<p>Thanks for reading my blog and posting comments. I agree with what you said. But I think you haven&#8217;t read the whole article. I explain later that a continuation actually represents the call stack. </p>
<p>Thanks,</p>
<p>&#8211; Vijay</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Yaaec (Yet another attempt to explain continuations)! by aaronla</title>
		<link>http://vijaymathew.wordpress.com/2009/07/22/yaaec-yet-another-attempt-to-explain-continuations/#comment-26</link>
		<dc:creator>aaronla</dc:creator>
		<pubDate>Tue, 28 Jul 2009 06:20:26 +0000</pubDate>
		<guid isPermaLink="false">http://vijaymathew.wordpress.com/?p=425#comment-26</guid>
		<description>Hi, I am generally a fan of the &quot;box&quot; approach used in teaching continuations you use here, I think it&#039;s a great way to visualize them.

 However, there is a small bug in your first example.  Sure enough, if you invoke (frozen 10), the repl will print 12.  But if you invoke (+ 1 (frozen 10)), it will _again_ print 12, not 13.  &quot;frozen&quot; doesn&#039;t represent (+ 2 []), but it represents _all_ of the program state up the call stack, including the fact that you entered it at the repl -- invoking &quot;frozen&quot; could even lead to _undefining_ things you defined after setting &quot;frozen&quot;, because you invoked a continuation that captured the REPL at an earlier point in time.

Here&#039;s the repro in SISC:
&lt;pre&gt;
$&gt; sisc
SISC (1.16.6)
#;&gt; (define call/cc call-with-current-continuation)
#;&gt; (define frozen #f)
#;&gt; (+ 2 (call/cc (lambda (k) (set! frozen k) 3)))
5
#;&gt; (frozen 10)
12
#;&gt; (+ 1 (frozen 10))
12
#;&gt;
&lt;/pre&gt;

I covered this a bit here: http://bit.ly/jOPKU .  I&#039;ve since learned about delimited continuations in PLT Scheme, and they may also be an interesting read -- http://bit.ly/14kufm .</description>
		<content:encoded><![CDATA[<p>Hi, I am generally a fan of the &#8220;box&#8221; approach used in teaching continuations you use here, I think it&#8217;s a great way to visualize them.</p>
<p> However, there is a small bug in your first example.  Sure enough, if you invoke (frozen 10), the repl will print 12.  But if you invoke (+ 1 (frozen 10)), it will _again_ print 12, not 13.  &#8220;frozen&#8221; doesn&#8217;t represent (+ 2 []), but it represents _all_ of the program state up the call stack, including the fact that you entered it at the repl &#8212; invoking &#8220;frozen&#8221; could even lead to _undefining_ things you defined after setting &#8220;frozen&#8221;, because you invoked a continuation that captured the REPL at an earlier point in time.</p>
<p>Here&#8217;s the repro in SISC:</p>
<pre>
$&gt; sisc
SISC (1.16.6)
#;&gt; (define call/cc call-with-current-continuation)
#;&gt; (define frozen #f)
#;&gt; (+ 2 (call/cc (lambda (k) (set! frozen k) 3)))
5
#;&gt; (frozen 10)
12
#;&gt; (+ 1 (frozen 10))
12
#;&gt;
</pre>
<p>I covered this a bit here: <a href="http://bit.ly/jOPKU" rel="nofollow">http://bit.ly/jOPKU</a> .  I&#8217;ve since learned about delimited continuations in PLT Scheme, and they may also be an interesting read &#8212; <a href="http://bit.ly/14kufm" rel="nofollow">http://bit.ly/14kufm</a> .</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Yaaec (Yet another attempt to explain continuations)! by Another explanation of continuations &#124; Wisdom and Wonder</title>
		<link>http://vijaymathew.wordpress.com/2009/07/22/yaaec-yet-another-attempt-to-explain-continuations/#comment-24</link>
		<dc:creator>Another explanation of continuations &#124; Wisdom and Wonder</dc:creator>
		<pubDate>Sat, 25 Jul 2009 15:35:25 +0000</pubDate>
		<guid isPermaLink="false">http://vijaymathew.wordpress.com/?p=425#comment-24</guid>
		<description>[...] Here is a good article on how to understand continuations.   This was written by Grant. Posted on Saturday, July 25, 2009, at 9:35 am. Filed under Link. Tagged Programming, Programming Language, Scheme. Bookmark the permalink. Follow comments here with the RSS feed. Post a comment or leave a trackback. [...]</description>
		<content:encoded><![CDATA[<p>[...] Here is a good article on how to understand continuations.   This was written by Grant. Posted on Saturday, July 25, 2009, at 9:35 am. Filed under Link. Tagged Programming, Programming Language, Scheme. Bookmark the permalink. Follow comments here with the RSS feed. Post a comment or leave a trackback. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on A fresh look at OOP with concurrent objects by vijaymathew</title>
		<link>http://vijaymathew.wordpress.com/2009/05/15/a-fresh-look-at-oop-with-concurrent-objects/#comment-23</link>
		<dc:creator>vijaymathew</dc:creator>
		<pubDate>Sat, 16 May 2009 13:09:23 +0000</pubDate>
		<guid isPermaLink="false">http://vijaymathew.wordpress.com/?p=212#comment-23</guid>
		<description>I was not aware of Termite. Thanks for pointing me to this. It looks very similar to what I have done. BTW, my implementation is part of a much larger Scheme programming environment, where it is but one of the features. Termite seems to be specialized on doing distributed computing.</description>
		<content:encoded><![CDATA[<p>I was not aware of Termite. Thanks for pointing me to this. It looks very similar to what I have done. BTW, my implementation is part of a much larger Scheme programming environment, where it is but one of the features. Termite seems to be specialized on doing distributed computing.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on A fresh look at OOP with concurrent objects by grettke</title>
		<link>http://vijaymathew.wordpress.com/2009/05/15/a-fresh-look-at-oop-with-concurrent-objects/#comment-22</link>
		<dc:creator>grettke</dc:creator>
		<pubDate>Fri, 15 May 2009 20:02:20 +0000</pubDate>
		<guid isPermaLink="false">http://vijaymathew.wordpress.com/?p=212#comment-22</guid>
		<description>Yes it ought to be fun.

Have you looked at Termite?

I have not in depth to contribute here; but if you are interested in distributed computing I know enough to suggest that you check it out.</description>
		<content:encoded><![CDATA[<p>Yes it ought to be fun.</p>
<p>Have you looked at Termite?</p>
<p>I have not in depth to contribute here; but if you are interested in distributed computing I know enough to suggest that you check it out.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Dangerous designs by guenthernoack</title>
		<link>http://vijaymathew.wordpress.com/2009/03/13/dangerous-designs/#comment-21</link>
		<dc:creator>guenthernoack</dc:creator>
		<pubDate>Mon, 30 Mar 2009 16:56:55 +0000</pubDate>
		<guid isPermaLink="false">http://vijaymathew.wordpress.com/?p=154#comment-21</guid>
		<description>It&#039;s Ruby. Whether Scheme is easy to read or not probably depends on who you&#039;re going to show it to. People in my area mostly aren&#039;t familiar with Lisp syntax, so I usually choose not to scare them. ;)</description>
		<content:encoded><![CDATA[<p>It&#8217;s Ruby. Whether Scheme is easy to read or not probably depends on who you&#8217;re going to show it to. People in my area mostly aren&#8217;t familiar with Lisp syntax, so I usually choose not to scare them. <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Dangerous designs by vijaymathew</title>
		<link>http://vijaymathew.wordpress.com/2009/03/13/dangerous-designs/#comment-20</link>
		<dc:creator>vijaymathew</dc:creator>
		<pubDate>Sun, 29 Mar 2009 07:59:50 +0000</pubDate>
		<guid isPermaLink="false">http://vijaymathew.wordpress.com/?p=154#comment-20</guid>
		<description>&gt;&gt; However, I can totally understand scolebourne when &gt;&gt; saying that noone would use inner classes for this &gt;&gt; in Java. I don’t think I’d believe in these ideas
&gt;&gt; about language design after reading your article
&gt;&gt; when I just had a background in a no-closures
&gt;&gt; language…

As I said in my earlier comment, my intention was to show the power of simple and elegent language design without the distractions of an elaborate sample. So I choose a damn simple example.

&gt;&gt; set.select({&#124;x&#124; x&gt;10}).inject(0,{&#124;a,b&#124; a+b})

I guess this is Haskell. The code is short and serves the purpose of displaying the elegance of higher-order functional programming. But the syntax might scare someone new to Haskell. I think the simple, one-line Scheme code snippet I gave is much more merciful to someone uninitiated.</description>
		<content:encoded><![CDATA[<p>&gt;&gt; However, I can totally understand scolebourne when &gt;&gt; saying that noone would use inner classes for this &gt;&gt; in Java. I don’t think I’d believe in these ideas<br />
&gt;&gt; about language design after reading your article<br />
&gt;&gt; when I just had a background in a no-closures<br />
&gt;&gt; language…</p>
<p>As I said in my earlier comment, my intention was to show the power of simple and elegent language design without the distractions of an elaborate sample. So I choose a damn simple example.</p>
<p>&gt;&gt; set.select({|x| x&gt;10}).inject(0,{|a,b| a+b})</p>
<p>I guess this is Haskell. The code is short and serves the purpose of displaying the elegance of higher-order functional programming. But the syntax might scare someone new to Haskell. I think the simple, one-line Scheme code snippet I gave is much more merciful to someone uninitiated.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Dangerous designs by guenthernoack</title>
		<link>http://vijaymathew.wordpress.com/2009/03/13/dangerous-designs/#comment-19</link>
		<dc:creator>guenthernoack</dc:creator>
		<pubDate>Thu, 26 Mar 2009 15:13:26 +0000</pubDate>
		<guid isPermaLink="false">http://vijaymathew.wordpress.com/?p=154#comment-19</guid>
		<description>I agree with your point that closures are probably *the* killer feature that eliminates the need for most other core language features.

However, I can totally understand scolebourne when saying that noone would use inner classes for this in Java. I don&#039;t think I&#039;d believe in these ideas about language design after reading your article when I just had a background in a no-closures language...

It&#039;s hard to find an example that shows the power of closures to people who don&#039;t know them. I usually ask people how they&#039;d do operations on a large set of objects that are contained in collection objects. Then I ask them to contemplate how often they do that in their projects. Finally, I show them something like this:

set.select({&#124;x&#124; x&gt;10}).inject(0,{&#124;a,b&#124; a+b})

This does of course not show the full potential of closures, however it does make clear why one may want to pass around stuff like the function that calculates n+k. :)</description>
		<content:encoded><![CDATA[<p>I agree with your point that closures are probably *the* killer feature that eliminates the need for most other core language features.</p>
<p>However, I can totally understand scolebourne when saying that noone would use inner classes for this in Java. I don&#8217;t think I&#8217;d believe in these ideas about language design after reading your article when I just had a background in a no-closures language&#8230;</p>
<p>It&#8217;s hard to find an example that shows the power of closures to people who don&#8217;t know them. I usually ask people how they&#8217;d do operations on a large set of objects that are contained in collection objects. Then I ask them to contemplate how often they do that in their projects. Finally, I show them something like this:</p>
<p>set.select({|x| x&gt;10}).inject(0,{|a,b| a+b})</p>
<p>This does of course not show the full potential of closures, however it does make clear why one may want to pass around stuff like the function that calculates n+k. <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
</channel>
</rss>
