<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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:slash="http://purl.org/rss/1.0/modules/slash/"
	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>The Phlegmatic Programmer</title>
	<atom:link href="http://phlegmaticprogrammer.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://phlegmaticprogrammer.wordpress.com</link>
	<description>Striking the balance between creating and understanding virtual artifacts.</description>
	<lastBuildDate>Wed, 16 Nov 2011 20:06:52 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='phlegmaticprogrammer.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>The Phlegmatic Programmer</title>
		<link>http://phlegmaticprogrammer.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://phlegmaticprogrammer.wordpress.com/osd.xml" title="The Phlegmatic Programmer" />
	<atom:link rel='hub' href='http://phlegmaticprogrammer.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Constructor Patterns</title>
		<link>http://phlegmaticprogrammer.wordpress.com/2011/08/22/constructor-patterns/</link>
		<comments>http://phlegmaticprogrammer.wordpress.com/2011/08/22/constructor-patterns/#comments</comments>
		<pubDate>Mon, 22 Aug 2011 15:46:10 +0000</pubDate>
		<dc:creator>phlegmaticprogrammer</dc:creator>
				<category><![CDATA[Babel-17]]></category>

		<guid isPermaLink="false">http://phlegmaticprogrammer.wordpress.com/?p=690</guid>
		<description><![CDATA[Currently (Babel-17 v0.3.2), how destructing works is not really what I intended initially: def myobj = object def destruct_ Boom = 1 end #assert match myobj case Boom x =&#62; false case Boom ! x =&#62; x == 1 end #assert match Boom 1 case Boom x =&#62; x == 1 case Boom ! x [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=phlegmaticprogrammer.wordpress.com&amp;blog=10599722&amp;post=690&amp;subd=phlegmaticprogrammer&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Currently (Babel-17 v0.3.2), how destructing works is not really what I intended initially:</p>
<pre>
def myobj = object def destruct_ Boom = 1 end

#assert
  match myobj
    case Boom x =&gt; false
    case Boom ! x =&gt; x == 1
  end

#assert
 match Boom 1
   case Boom x =&gt; x == 1
   case Boom ! x =&gt; false
 end
</pre>
<p>Both assertions currently hold. This is because the pattern <code>Boom x</code> only matches a true <code>cexpr</code>, but not a value that just responds to the <code>destruct_</code> message. </p>
<p>The thing is that initially I introduced constructors just so that effortless pattern matching is possible against objects that are NOT of type <code>cexpr</code>, but choose to behave as such. Therefore the pattern <code>C pat</code> where C is a constructor should really mean the same as <code>C ! pat</code>. There is only one problem with that:</p>
<pre>
typedef suit Hearts, Diamonds, Spades, Clubs
</pre>
<p>This currently is short for</p>
<pre>
typedef suit (x as Hearts) = x
typedef suit (x as Diamonds) = x
typedef suit (x as Spades) = x
typedef suit (x as Clubs) = x
</pre>
<p>Now, if I do the following:</p>
<pre>
def myobj = object def destruct_ Hearts = nil def hello = "Hello there!" end
val strangeSuit = suit myobj
</pre>
<p>Now <code>strangeSuit</code> is of type <code>suit</code>, but also responds to the <code>hello</code> message. That surely wasn&#8217;t intended. </p>
<p>The solution is to define the meaning of the <code>suit</code> type definition<br />
to be:</p>
<pre>
typedef suit Hearts = Hearts
typedef suit Diamonds = Diamonds
typedef suit Spades = Spades
typedef suit Clubs = Clubs
</pre>
<p>Then everything works fine and the encapsulation of the <code>suit</code> type is guaranteed.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/phlegmaticprogrammer.wordpress.com/690/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/phlegmaticprogrammer.wordpress.com/690/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/phlegmaticprogrammer.wordpress.com/690/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/phlegmaticprogrammer.wordpress.com/690/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/phlegmaticprogrammer.wordpress.com/690/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/phlegmaticprogrammer.wordpress.com/690/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/phlegmaticprogrammer.wordpress.com/690/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/phlegmaticprogrammer.wordpress.com/690/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/phlegmaticprogrammer.wordpress.com/690/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/phlegmaticprogrammer.wordpress.com/690/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/phlegmaticprogrammer.wordpress.com/690/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/phlegmaticprogrammer.wordpress.com/690/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/phlegmaticprogrammer.wordpress.com/690/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/phlegmaticprogrammer.wordpress.com/690/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=phlegmaticprogrammer.wordpress.com&amp;blog=10599722&amp;post=690&amp;subd=phlegmaticprogrammer&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://phlegmaticprogrammer.wordpress.com/2011/08/22/constructor-patterns/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/f328a551d60b7ae078790030b3736aa0?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">phlegmaticprogrammer</media:title>
		</media:content>
	</item>
		<item>
		<title>Programming and Scaling</title>
		<link>http://phlegmaticprogrammer.wordpress.com/2011/08/07/programming-and-scaling/</link>
		<comments>http://phlegmaticprogrammer.wordpress.com/2011/08/07/programming-and-scaling/#comments</comments>
		<pubDate>Sun, 07 Aug 2011 07:55:14 +0000</pubDate>
		<dc:creator>phlegmaticprogrammer</dc:creator>
				<category><![CDATA[Educational]]></category>

		<guid isPermaLink="false">http://phlegmaticprogrammer.wordpress.com/?p=688</guid>
		<description><![CDATA[Interesting talk by Alan Kay, the inventor of the term &#8220;object-oriented&#8221;: Programming and Scaling.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=phlegmaticprogrammer.wordpress.com&amp;blog=10599722&amp;post=688&amp;subd=phlegmaticprogrammer&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Interesting talk by Alan Kay, the inventor of the term &#8220;object-oriented&#8221;: <a href="http://tele-task.de/archive/video/flash/14029/">Programming and Scaling</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/phlegmaticprogrammer.wordpress.com/688/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/phlegmaticprogrammer.wordpress.com/688/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/phlegmaticprogrammer.wordpress.com/688/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/phlegmaticprogrammer.wordpress.com/688/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/phlegmaticprogrammer.wordpress.com/688/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/phlegmaticprogrammer.wordpress.com/688/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/phlegmaticprogrammer.wordpress.com/688/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/phlegmaticprogrammer.wordpress.com/688/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/phlegmaticprogrammer.wordpress.com/688/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/phlegmaticprogrammer.wordpress.com/688/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/phlegmaticprogrammer.wordpress.com/688/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/phlegmaticprogrammer.wordpress.com/688/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/phlegmaticprogrammer.wordpress.com/688/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/phlegmaticprogrammer.wordpress.com/688/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=phlegmaticprogrammer.wordpress.com&amp;blog=10599722&amp;post=688&amp;subd=phlegmaticprogrammer&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://phlegmaticprogrammer.wordpress.com/2011/08/07/programming-and-scaling/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/f328a551d60b7ae078790030b3736aa0?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">phlegmaticprogrammer</media:title>
		</media:content>
	</item>
		<item>
		<title>Midnight in Paris</title>
		<link>http://phlegmaticprogrammer.wordpress.com/2011/08/06/midnight-in-paris/</link>
		<comments>http://phlegmaticprogrammer.wordpress.com/2011/08/06/midnight-in-paris/#comments</comments>
		<pubDate>Sat, 06 Aug 2011 21:35:10 +0000</pubDate>
		<dc:creator>phlegmaticprogrammer</dc:creator>
				<category><![CDATA[Movies]]></category>

		<guid isPermaLink="false">http://phlegmaticprogrammer.wordpress.com/?p=685</guid>
		<description><![CDATA[I don&#8217;t understand, what&#8217;s holding them in the room? You gotta love Woody Allen&#8217;s newest creation, for little fun moments like above reference to &#8220;The Exterminating Angel&#8221;, and for pointing out obvious, but easily forgotten truths. If you haven&#8217;t already, it will also make you fall in love with Paris. Makes me want to jump [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=phlegmaticprogrammer.wordpress.com&amp;blog=10599722&amp;post=685&amp;subd=phlegmaticprogrammer&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<blockquote><p>
I don&#8217;t understand, what&#8217;s holding them in the room?
</p></blockquote>
<p>You gotta love Woody Allen&#8217;s newest creation, for little fun moments like above reference to &#8220;The Exterminating Angel&#8221;, and for pointing out obvious, but easily forgotten truths. If you haven&#8217;t already, it will also make you fall in love with Paris. Makes me want to jump right into the train from Saarbrücken to Paris.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/phlegmaticprogrammer.wordpress.com/685/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/phlegmaticprogrammer.wordpress.com/685/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/phlegmaticprogrammer.wordpress.com/685/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/phlegmaticprogrammer.wordpress.com/685/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/phlegmaticprogrammer.wordpress.com/685/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/phlegmaticprogrammer.wordpress.com/685/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/phlegmaticprogrammer.wordpress.com/685/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/phlegmaticprogrammer.wordpress.com/685/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/phlegmaticprogrammer.wordpress.com/685/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/phlegmaticprogrammer.wordpress.com/685/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/phlegmaticprogrammer.wordpress.com/685/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/phlegmaticprogrammer.wordpress.com/685/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/phlegmaticprogrammer.wordpress.com/685/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/phlegmaticprogrammer.wordpress.com/685/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=phlegmaticprogrammer.wordpress.com&amp;blog=10599722&amp;post=685&amp;subd=phlegmaticprogrammer&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://phlegmaticprogrammer.wordpress.com/2011/08/06/midnight-in-paris/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/f328a551d60b7ae078790030b3736aa0?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">phlegmaticprogrammer</media:title>
		</media:content>
	</item>
		<item>
		<title>Grid Systems</title>
		<link>http://phlegmaticprogrammer.wordpress.com/2011/07/22/grid-systems/</link>
		<comments>http://phlegmaticprogrammer.wordpress.com/2011/07/22/grid-systems/#comments</comments>
		<pubDate>Fri, 22 Jul 2011 16:06:49 +0000</pubDate>
		<dc:creator>phlegmaticprogrammer</dc:creator>
				<category><![CDATA[Babel-17]]></category>
		<category><![CDATA[Educational]]></category>

		<guid isPermaLink="false">http://phlegmaticprogrammer.wordpress.com/?p=682</guid>
		<description><![CDATA[I found a terrific read: Ordering Disorder: Grid Principles for Web Design by Khoi Vinh, former Design Director of the NYTimes, is exactly the book I was looking for to learn in depth about grid systems in UI design. I hope to be able to transfer some of my new found wisdom to the design [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=phlegmaticprogrammer.wordpress.com&amp;blog=10599722&amp;post=682&amp;subd=phlegmaticprogrammer&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I found a terrific read: <a href="http://www.amazon.com/Ordering-Disorder-Principles-Design-Voices/dp/0321703537">Ordering Disorder: Grid Principles for Web Design</a> by <a href="http://www.subtraction.com">Khoi Vinh</a>, former Design Director of the NYTimes, is exactly the book I was looking for to learn in depth about grid systems in UI design. I hope to be able to transfer some of my new found wisdom to the design of the Babel-17 UI support.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/phlegmaticprogrammer.wordpress.com/682/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/phlegmaticprogrammer.wordpress.com/682/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/phlegmaticprogrammer.wordpress.com/682/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/phlegmaticprogrammer.wordpress.com/682/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/phlegmaticprogrammer.wordpress.com/682/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/phlegmaticprogrammer.wordpress.com/682/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/phlegmaticprogrammer.wordpress.com/682/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/phlegmaticprogrammer.wordpress.com/682/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/phlegmaticprogrammer.wordpress.com/682/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/phlegmaticprogrammer.wordpress.com/682/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/phlegmaticprogrammer.wordpress.com/682/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/phlegmaticprogrammer.wordpress.com/682/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/phlegmaticprogrammer.wordpress.com/682/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/phlegmaticprogrammer.wordpress.com/682/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=phlegmaticprogrammer.wordpress.com&amp;blog=10599722&amp;post=682&amp;subd=phlegmaticprogrammer&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://phlegmaticprogrammer.wordpress.com/2011/07/22/grid-systems/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/f328a551d60b7ae078790030b3736aa0?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">phlegmaticprogrammer</media:title>
		</media:content>
	</item>
		<item>
		<title>How productive can a single programmer be?</title>
		<link>http://phlegmaticprogrammer.wordpress.com/2011/07/21/how-productive-can-a-single-programmer-be/</link>
		<comments>http://phlegmaticprogrammer.wordpress.com/2011/07/21/how-productive-can-a-single-programmer-be/#comments</comments>
		<pubDate>Thu, 21 Jul 2011 14:14:08 +0000</pubDate>
		<dc:creator>phlegmaticprogrammer</dc:creator>
				<category><![CDATA[Babel-17]]></category>

		<guid isPermaLink="false">http://phlegmaticprogrammer.wordpress.com/?p=680</guid>
		<description><![CDATA[Here are the things I&#8217;d like to get done in the next 3 months: Babel-17 running on GAE A user interface concept for Babel-17 relying on constraints, grid systems, and modern design principles. Can&#8217;t wait to get my fingers on the upcoming Design for Hackers. A first version of one of my projects (like Applied [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=phlegmaticprogrammer.wordpress.com&amp;blog=10599722&amp;post=680&amp;subd=phlegmaticprogrammer&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Here are the things I&#8217;d like to get done in the next 3 months:</p>
<ul>
<li>Babel-17 running on GAE</li>
<li>A user interface concept for Babel-17 relying on constraints, grid systems, and modern design principles. Can&#8217;t wait to get my fingers on the upcoming <a href="http://www.designforhackers.com/">Design for Hackers</a>.</li>
<li>A first version of one of my projects (like Applied Cuisine) running on Babel-17</li>
<li>A compiler from Babel-17 to Java</li>
<li>A compiler from Babel-17 to Objective-C</li>
<li>A compiler from Babel-17 to Javascript</li>
</ul>
<p>It always helps to look back at a comparable time frame and what has been achieved then in it. So lets do that and immediately cross off the last three items from that list <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  Can the rest be done in three months time? We will see.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/phlegmaticprogrammer.wordpress.com/680/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/phlegmaticprogrammer.wordpress.com/680/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/phlegmaticprogrammer.wordpress.com/680/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/phlegmaticprogrammer.wordpress.com/680/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/phlegmaticprogrammer.wordpress.com/680/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/phlegmaticprogrammer.wordpress.com/680/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/phlegmaticprogrammer.wordpress.com/680/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/phlegmaticprogrammer.wordpress.com/680/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/phlegmaticprogrammer.wordpress.com/680/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/phlegmaticprogrammer.wordpress.com/680/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/phlegmaticprogrammer.wordpress.com/680/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/phlegmaticprogrammer.wordpress.com/680/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/phlegmaticprogrammer.wordpress.com/680/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/phlegmaticprogrammer.wordpress.com/680/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=phlegmaticprogrammer.wordpress.com&amp;blog=10599722&amp;post=680&amp;subd=phlegmaticprogrammer&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://phlegmaticprogrammer.wordpress.com/2011/07/21/how-productive-can-a-single-programmer-be/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/f328a551d60b7ae078790030b3736aa0?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">phlegmaticprogrammer</media:title>
		</media:content>
	</item>
		<item>
		<title>Babel-17 v0.3.1 is out!</title>
		<link>http://phlegmaticprogrammer.wordpress.com/2011/07/20/babel-17-v0-3-1-is-out/</link>
		<comments>http://phlegmaticprogrammer.wordpress.com/2011/07/20/babel-17-v0-3-1-is-out/#comments</comments>
		<pubDate>Wed, 20 Jul 2011 22:22:12 +0000</pubDate>
		<dc:creator>phlegmaticprogrammer</dc:creator>
				<category><![CDATA[Babel-17]]></category>

		<guid isPermaLink="false">http://phlegmaticprogrammer.wordpress.com/?p=677</guid>
		<description><![CDATA[I have put together the two new big features of Babel-17, support for lenses, and Java interoperability, to form the backbone of this new release. The specification has been cleaned up and improved in a couple of places. Download Babel-17 v0.3.1 now!<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=phlegmaticprogrammer.wordpress.com&amp;blog=10599722&amp;post=677&amp;subd=phlegmaticprogrammer&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I have put together the two new big features of Babel-17, support for lenses, and Java interoperability, to form the backbone of this new release. The specification has been cleaned up and improved in a couple of places. <a href="http://www.babel-17.com">Download Babel-17 v0.3.1 now!</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/phlegmaticprogrammer.wordpress.com/677/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/phlegmaticprogrammer.wordpress.com/677/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/phlegmaticprogrammer.wordpress.com/677/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/phlegmaticprogrammer.wordpress.com/677/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/phlegmaticprogrammer.wordpress.com/677/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/phlegmaticprogrammer.wordpress.com/677/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/phlegmaticprogrammer.wordpress.com/677/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/phlegmaticprogrammer.wordpress.com/677/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/phlegmaticprogrammer.wordpress.com/677/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/phlegmaticprogrammer.wordpress.com/677/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/phlegmaticprogrammer.wordpress.com/677/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/phlegmaticprogrammer.wordpress.com/677/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/phlegmaticprogrammer.wordpress.com/677/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/phlegmaticprogrammer.wordpress.com/677/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=phlegmaticprogrammer.wordpress.com&amp;blog=10599722&amp;post=677&amp;subd=phlegmaticprogrammer&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://phlegmaticprogrammer.wordpress.com/2011/07/20/babel-17-v0-3-1-is-out/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/f328a551d60b7ae078790030b3736aa0?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">phlegmaticprogrammer</media:title>
		</media:content>
	</item>
		<item>
		<title>Lenses in Babel-17</title>
		<link>http://phlegmaticprogrammer.wordpress.com/2011/07/19/lenses-in-babel-17/</link>
		<comments>http://phlegmaticprogrammer.wordpress.com/2011/07/19/lenses-in-babel-17/#comments</comments>
		<pubDate>Tue, 19 Jul 2011 16:50:48 +0000</pubDate>
		<dc:creator>phlegmaticprogrammer</dc:creator>
				<category><![CDATA[Babel-17]]></category>

		<guid isPermaLink="false">http://phlegmaticprogrammer.wordpress.com/?p=674</guid>
		<description><![CDATA[Google App Engine (GAE) uses a document centric database model (Big Table). Therefore, before digging into the details of how to integrate it with Babel-17, I decided first to implement lenses for Babel-17. A complete implementation is checked into the repository, and it will come out as part of Babel-17 v3.1 . I am pretty [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=phlegmaticprogrammer.wordpress.com&amp;blog=10599722&amp;post=674&amp;subd=phlegmaticprogrammer&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Google App Engine (GAE) uses a document centric database model (Big Table). Therefore, before digging into the details of how to integrate it with Babel-17, I decided first to implement <a href="http://phlegmaticprogrammer.wordpress.com/2011/05/27/lenses-suck-less/">lenses</a> for Babel-17. A complete implementation is checked into the repository, and it will come out as part of Babel-17 v3.1 . I am pretty excited about applying it to GAE and the standard library of Babel-17.</p>
<p>So a lens in Babel-17 is a value of type <code>lens_</code>, and there is a new keyword <b>lens</b> which is used to create lenses from scratch. The old record update syntax has become part of how lenses work. I will update the Babel-17 spec within the next few days, for now to get a sneak preview of how lenses in Babel-17 work, check out this unit test module for lenses:</p>
<pre>
module lang.unittest.spec.lenses

val u = {a = 1, b = {i = 2, j = 3}}
val v = u

val l = lens x =&gt; x.b.i

#assert l u == u.(l) == 2

#assert typeof l == (: lens_)

u.(l) = 5

#assert u == {a = 1, b = {i = 5, j = 3}}
#assert v == {a = 1, b = {i = 2, j = 3}}

v.b.j = 42
v.(l) = 6
v.a = v.a + 10

#assert v == {a = 11, b = {i = 6, j = 42}}

v.b.j = v.b.i
v.b.i ^= 2
v.b.j =^ 2

#assert v.b == { i = 6^2, j = 2^6 }

l = lens x =&gt; x

v.(l) = 77

#assert v == 77

typedef mymap (c : map) =
    object
      def lookup k = c k
      def lookup_putback_ k = x =&gt; mymap (c + (k, x))
      def get k = if c.containsKey(k) then Some (c k) else None end
      def get_putback_ k =
        (case Some x =&gt; mymap (c + (k, x))
         case None =&gt; mymap (c - k))
      def this:map = c
    end

val c = { 1 -&gt; 2, 2 -&gt; 3, 3 -&gt; 4, 4 -&gt; 1 }
val m = mymap c

#assert m.get 3 == Some 4

m.get 3 = Some 10

#assert m == {1 -&gt; 2, 2 -&gt; 3, 3 -&gt; 10, 4 -&gt; 1}

m.get 3 = None

#assert m == {1 -&gt; 2, 2 -&gt; 3, 4 -&gt; 1}

#catch DomainError try: m.lookup 10
m.lookup 10 = 24
#assert m.lookup 10 == 24

val f = lens x =&gt; x.b
val g = lens x =&gt; x.i      

u.(f*g) = 13

#assert u.b.i == 13
#assert u.(f*g) == 13

val h = lens x =&gt; x.(f).(g)

#assert u.(h) == 13

u.(h) = 79

#assert u.b.i == 79

u.(f).(g) = 80

#assert u.b.i == 80

#catch ApplyError try: u.(2)

#catch DomainError try:
  begin
    u.(2) = 18
  end

#catch 2 try:
  begin
    u.(exception 2) = 18
  end

val fst = lens ((x, y) =&gt; x, (x, y) =&gt; z =&gt; (z, y))
val snd = lens ((x, y) =&gt; y, (x, y) =&gt; z =&gt; (x, z))

val x = (1, 2)

x.(fst) = 10

#assert x == (10, 2)

x.(snd) = 13

#assert x == (10, 13)

val x = 10
x += 2
#assert x == 12

x div= 2
#assert x == 6

x =div 18
#assert x == 3

val x = true

x xor= true

#assert not x

end
</pre>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/phlegmaticprogrammer.wordpress.com/674/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/phlegmaticprogrammer.wordpress.com/674/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/phlegmaticprogrammer.wordpress.com/674/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/phlegmaticprogrammer.wordpress.com/674/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/phlegmaticprogrammer.wordpress.com/674/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/phlegmaticprogrammer.wordpress.com/674/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/phlegmaticprogrammer.wordpress.com/674/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/phlegmaticprogrammer.wordpress.com/674/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/phlegmaticprogrammer.wordpress.com/674/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/phlegmaticprogrammer.wordpress.com/674/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/phlegmaticprogrammer.wordpress.com/674/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/phlegmaticprogrammer.wordpress.com/674/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/phlegmaticprogrammer.wordpress.com/674/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/phlegmaticprogrammer.wordpress.com/674/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=phlegmaticprogrammer.wordpress.com&amp;blog=10599722&amp;post=674&amp;subd=phlegmaticprogrammer&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://phlegmaticprogrammer.wordpress.com/2011/07/19/lenses-in-babel-17/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/f328a551d60b7ae078790030b3736aa0?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">phlegmaticprogrammer</media:title>
		</media:content>
	</item>
		<item>
		<title>Barney&#8217;s Version</title>
		<link>http://phlegmaticprogrammer.wordpress.com/2011/07/15/barneys-version/</link>
		<comments>http://phlegmaticprogrammer.wordpress.com/2011/07/15/barneys-version/#comments</comments>
		<pubDate>Fri, 15 Jul 2011 20:49:25 +0000</pubDate>
		<dc:creator>phlegmaticprogrammer</dc:creator>
				<category><![CDATA[Movies]]></category>

		<guid isPermaLink="false">http://phlegmaticprogrammer.wordpress.com/?p=672</guid>
		<description><![CDATA[The story is interesting (finally I learnt what to do with onions before cutting them) but the true brilliance of this movie lies in its phenomenal cast.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=phlegmaticprogrammer.wordpress.com&amp;blog=10599722&amp;post=672&amp;subd=phlegmaticprogrammer&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The story is interesting (finally I learnt what to do with onions before cutting them) but the true brilliance of <a href="http://www.imdb.com/title/tt1423894/">this movie</a> lies in its phenomenal cast. </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/phlegmaticprogrammer.wordpress.com/672/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/phlegmaticprogrammer.wordpress.com/672/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/phlegmaticprogrammer.wordpress.com/672/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/phlegmaticprogrammer.wordpress.com/672/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/phlegmaticprogrammer.wordpress.com/672/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/phlegmaticprogrammer.wordpress.com/672/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/phlegmaticprogrammer.wordpress.com/672/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/phlegmaticprogrammer.wordpress.com/672/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/phlegmaticprogrammer.wordpress.com/672/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/phlegmaticprogrammer.wordpress.com/672/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/phlegmaticprogrammer.wordpress.com/672/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/phlegmaticprogrammer.wordpress.com/672/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/phlegmaticprogrammer.wordpress.com/672/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/phlegmaticprogrammer.wordpress.com/672/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=phlegmaticprogrammer.wordpress.com&amp;blog=10599722&amp;post=672&amp;subd=phlegmaticprogrammer&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://phlegmaticprogrammer.wordpress.com/2011/07/15/barneys-version/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/f328a551d60b7ae078790030b3736aa0?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">phlegmaticprogrammer</media:title>
		</media:content>
	</item>
		<item>
		<title>Aiming for the bushes</title>
		<link>http://phlegmaticprogrammer.wordpress.com/2011/07/13/aiming-for-the-bushes/</link>
		<comments>http://phlegmaticprogrammer.wordpress.com/2011/07/13/aiming-for-the-bushes/#comments</comments>
		<pubDate>Tue, 12 Jul 2011 23:34:23 +0000</pubDate>
		<dc:creator>phlegmaticprogrammer</dc:creator>
				<category><![CDATA[Babel-17]]></category>
		<category><![CDATA[Movies]]></category>

		<guid isPermaLink="false">http://phlegmaticprogrammer.wordpress.com/?p=670</guid>
		<description><![CDATA[This is by far the funniest I have watched recently (in the last 5 years).<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=phlegmaticprogrammer.wordpress.com&amp;blog=10599722&amp;post=670&amp;subd=phlegmaticprogrammer&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.youtube.com/watch?v=Q86Rn4jETVk&amp;NR=1">This</a> is by far the funniest I have watched recently (in the last 5 years).  </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/phlegmaticprogrammer.wordpress.com/670/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/phlegmaticprogrammer.wordpress.com/670/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/phlegmaticprogrammer.wordpress.com/670/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/phlegmaticprogrammer.wordpress.com/670/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/phlegmaticprogrammer.wordpress.com/670/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/phlegmaticprogrammer.wordpress.com/670/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/phlegmaticprogrammer.wordpress.com/670/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/phlegmaticprogrammer.wordpress.com/670/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/phlegmaticprogrammer.wordpress.com/670/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/phlegmaticprogrammer.wordpress.com/670/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/phlegmaticprogrammer.wordpress.com/670/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/phlegmaticprogrammer.wordpress.com/670/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/phlegmaticprogrammer.wordpress.com/670/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/phlegmaticprogrammer.wordpress.com/670/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=phlegmaticprogrammer.wordpress.com&amp;blog=10599722&amp;post=670&amp;subd=phlegmaticprogrammer&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://phlegmaticprogrammer.wordpress.com/2011/07/13/aiming-for-the-bushes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/f328a551d60b7ae078790030b3736aa0?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">phlegmaticprogrammer</media:title>
		</media:content>
	</item>
		<item>
		<title>Babel-17 can call Java now</title>
		<link>http://phlegmaticprogrammer.wordpress.com/2011/07/12/babel-17-can-call-java-now/</link>
		<comments>http://phlegmaticprogrammer.wordpress.com/2011/07/12/babel-17-can-call-java-now/#comments</comments>
		<pubDate>Tue, 12 Jul 2011 17:20:30 +0000</pubDate>
		<dc:creator>phlegmaticprogrammer</dc:creator>
				<category><![CDATA[Babel-17]]></category>

		<guid isPermaLink="false">http://phlegmaticprogrammer.wordpress.com/?p=663</guid>
		<description><![CDATA[I have done some serious thinking about how to use Babel-17 to power my projects like Applied Cuisine. The main backend for my projects is going to be Google App Engine (GAE). So it would be great if I could use Babel-17 for GAE development. The first step to achieve this has been done now. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=phlegmaticprogrammer.wordpress.com&amp;blog=10599722&amp;post=663&amp;subd=phlegmaticprogrammer&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I have done some serious thinking about how to use Babel-17 to power my projects like <a href="http://www.appliedcuisine.com">Applied Cuisine</a>. </p>
<p>The main backend for my projects is going to be Google App Engine (GAE). So it would be great if I could use Babel-17 for GAE development. The first step to achieve this has been done now. <em>Babel-17 can call Java now</em>. Here is an example:</p>
<pre>
val s = native New ("java.lang.Short", 2)
val ar = native New ("java.util.ArrayList")
val _ =
  begin
    ar.add 1
    ar.add 10
    ar.add 5
    ar.add s
    ar.add ((18, 13, 15),)
  end
ar.toArray ()
</pre>
<p>The above code evaluates to <code>(1,10,5,2,(18,13,15))</code>.  </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/phlegmaticprogrammer.wordpress.com/663/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/phlegmaticprogrammer.wordpress.com/663/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/phlegmaticprogrammer.wordpress.com/663/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/phlegmaticprogrammer.wordpress.com/663/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/phlegmaticprogrammer.wordpress.com/663/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/phlegmaticprogrammer.wordpress.com/663/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/phlegmaticprogrammer.wordpress.com/663/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/phlegmaticprogrammer.wordpress.com/663/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/phlegmaticprogrammer.wordpress.com/663/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/phlegmaticprogrammer.wordpress.com/663/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/phlegmaticprogrammer.wordpress.com/663/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/phlegmaticprogrammer.wordpress.com/663/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/phlegmaticprogrammer.wordpress.com/663/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/phlegmaticprogrammer.wordpress.com/663/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=phlegmaticprogrammer.wordpress.com&amp;blog=10599722&amp;post=663&amp;subd=phlegmaticprogrammer&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://phlegmaticprogrammer.wordpress.com/2011/07/12/babel-17-can-call-java-now/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/f328a551d60b7ae078790030b3736aa0?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">phlegmaticprogrammer</media:title>
		</media:content>
	</item>
	</channel>
</rss>
