<?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"
	>
<channel>
	<title>Comments on: Java 7</title>
	<atom:link href="http://blog.tmorris.net/java-7/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.tmorris.net/java-7/</link>
	<description>The weblog of Tony Morris</description>
	<pubDate>Sat, 19 May 2012 02:51:37 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6</generator>
		<item>
		<title>By: Tony Morris</title>
		<link>http://blog.tmorris.net/java-7/#comment-118682</link>
		<dc:creator>Tony Morris</dc:creator>
		<pubDate>Tue, 27 Sep 2011 20:52:59 +0000</pubDate>
		<guid isPermaLink="false">http://blog.tmorris.net/?p=1030#comment-118682</guid>
		<description>Rejected or not, there existed a functioning compiler years ago.</description>
		<content:encoded><![CDATA[<p>Rejected or not, there existed a functioning compiler years ago.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alan</title>
		<link>http://blog.tmorris.net/java-7/#comment-118038</link>
		<dc:creator>Alan</dc:creator>
		<pubDate>Mon, 26 Sep 2011 14:37:35 +0000</pubDate>
		<guid isPermaLink="false">http://blog.tmorris.net/?p=1030#comment-118038</guid>
		<description>The Java syntax you discuss in this article, while proposed, was rejected long ago.</description>
		<content:encoded><![CDATA[<p>The Java syntax you discuss in this article, while proposed, was rejected long ago.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tony Morris</title>
		<link>http://blog.tmorris.net/java-7/#comment-105991</link>
		<dc:creator>Tony Morris</dc:creator>
		<pubDate>Thu, 18 Aug 2011 22:05:44 +0000</pubDate>
		<guid isPermaLink="false">http://blog.tmorris.net/?p=1030#comment-105991</guid>
		<description>Ken,
See Scalaz for same without sacrificing the generalisation.</description>
		<content:encoded><![CDATA[<p>Ken,<br />
See Scalaz for same without sacrificing the generalisation.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Andrew</title>
		<link>http://blog.tmorris.net/java-7/#comment-105986</link>
		<dc:creator>Andrew</dc:creator>
		<pubDate>Thu, 18 Aug 2011 20:56:17 +0000</pubDate>
		<guid isPermaLink="false">http://blog.tmorris.net/?p=1030#comment-105986</guid>
		<description>Stephen, I am not sure that I would describe the java syntax as more readable; that seems like a very subjective thing.

To me ?: looks like line noise, whereas getOrElse tells me what it is doing.</description>
		<content:encoded><![CDATA[<p>Stephen, I am not sure that I would describe the java syntax as more readable; that seems like a very subjective thing.</p>
<p>To me ?: looks like line noise, whereas getOrElse tells me what it is doing.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joe</title>
		<link>http://blog.tmorris.net/java-7/#comment-105946</link>
		<dc:creator>Joe</dc:creator>
		<pubDate>Thu, 18 Aug 2011 14:32:47 +0000</pubDate>
		<guid isPermaLink="false">http://blog.tmorris.net/?p=1030#comment-105946</guid>
		<description>Tony,  this is not Java 7.  The Java syntax you discuss in this article, while proposed, was rejected long ago.  Java 7 was officially released 3 weeks ago.  Not sure what the purpose is here.</description>
		<content:encoded><![CDATA[<p>Tony,  this is not Java 7.  The Java syntax you discuss in this article, while proposed, was rejected long ago.  Java 7 was officially released 3 weeks ago.  Not sure what the purpose is here.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ken Bloom</title>
		<link>http://blog.tmorris.net/java-7/#comment-105945</link>
		<dc:creator>Ken Bloom</dc:creator>
		<pubDate>Thu, 18 Aug 2011 14:28:37 +0000</pubDate>
		<guid isPermaLink="false">http://blog.tmorris.net/?p=1030#comment-105945</guid>
		<description>The proposed Java syntax (already in Groovy)&lt;code&gt; a(argsa)?.b(argsb)?.c(argsc)?.d(argsd).f()&lt;/code&gt; is totally different from 

&lt;code&gt;
    (a, b, c, d) =&#62; for {
      aa &#60;- a(argsa)
      bb &#60;- b(argsb)
      cc &#60;- c(argsc)
      dd &#60;- d(argsd)
    } yield f(aa, bb, cc, dd)
&lt;/code&gt;
It's equivalent to
&lt;code&gt;
for {
  aa &#60;- a(argsa)
  bb &#60;- aa.b(argsb)
  cc &#60;- bb.c(argsc)
  dd &#60;- cc.d(argsd)
}yield(dd.f())
&lt;/code&gt;

While the Java version is not as general, it does provide some useful syntactic sugar for a common use case, and it's a whole lot more concise than the Scala way of doing this. (It would be kinda nice of Scala's options supported something like this, but that would require one or more completely brand-new langauge concepts in Scala to pull it off.</description>
		<content:encoded><![CDATA[<p>The proposed Java syntax (already in Groovy)<code> a(argsa)?.b(argsb)?.c(argsc)?.d(argsd).f()</code> is totally different from </p>
<p><code><br />
    (a, b, c, d) =&gt; for {<br />
      aa &lt;- a(argsa)<br />
      bb &lt;- b(argsb)<br />
      cc &lt;- c(argsc)<br />
      dd &lt;- d(argsd)<br />
    } yield f(aa, bb, cc, dd)<br />
</code><br />
It&#8217;s equivalent to<br />
<code><br />
for {<br />
  aa &lt;- a(argsa)<br />
  bb &lt;- aa.b(argsb)<br />
  cc &lt;- bb.c(argsc)<br />
  dd &lt;- cc.d(argsd)<br />
}yield(dd.f())<br />
</code></p>
<p>While the Java version is not as general, it does provide some useful syntactic sugar for a common use case, and it&#8217;s a whole lot more concise than the Scala way of doing this. (It would be kinda nice of Scala&#8217;s options supported something like this, but that would require one or more completely brand-new langauge concepts in Scala to pull it off.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tony Morris</title>
		<link>http://blog.tmorris.net/java-7/#comment-105942</link>
		<dc:creator>Tony Morris</dc:creator>
		<pubDate>Thu, 18 Aug 2011 13:58:30 +0000</pubDate>
		<guid isPermaLink="false">http://blog.tmorris.net/?p=1030#comment-105942</guid>
		<description>Stephen, The Java version is not more readable than the Scala version. I had to omit all the ridiculous Java nonsense to make the point.

Right, the syntax is a proposal.</description>
		<content:encoded><![CDATA[<p>Stephen, The Java version is not more readable than the Scala version. I had to omit all the ridiculous Java nonsense to make the point.</p>
<p>Right, the syntax is a proposal.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Derek Wyatt</title>
		<link>http://blog.tmorris.net/java-7/#comment-105936</link>
		<dc:creator>Derek Wyatt</dc:creator>
		<pubDate>Thu, 18 Aug 2011 13:08:54 +0000</pubDate>
		<guid isPermaLink="false">http://blog.tmorris.net/?p=1030#comment-105936</guid>
		<description>Thanks for pointing this stuff out, Tony.  I depend on guys like you to tell me what's in Java these days now that I focus on languages like Scala and Haskell and have (hopefully) said good-bye to Java for good.  Ah, were that only true, and I didn't have to earn money. :)</description>
		<content:encoded><![CDATA[<p>Thanks for pointing this stuff out, Tony.  I depend on guys like you to tell me what&#8217;s in Java these days now that I focus on languages like Scala and Haskell and have (hopefully) said good-bye to Java for good.  Ah, were that only true, and I didn&#8217;t have to earn money. <img src='http://blog.tmorris.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bas de Bakker</title>
		<link>http://blog.tmorris.net/java-7/#comment-105931</link>
		<dc:creator>Bas de Bakker</dc:creator>
		<pubDate>Thu, 18 Aug 2011 12:41:21 +0000</pubDate>
		<guid isPermaLink="false">http://blog.tmorris.net/?p=1030#comment-105931</guid>
		<description>The syntax you describe is not in Java 7. It has been considered, but was rejected. See http://blogs.oracle.com/darcy/entry/project_coin_final_five</description>
		<content:encoded><![CDATA[<p>The syntax you describe is not in Java 7. It has been considered, but was rejected. See <a href="http://blogs.oracle.com/darcy/entry/project_coin_final_five" onclick="javascript:pageTracker._trackPageview('/outbound/comment/blogs.oracle.com');" rel="nofollow">http://blogs.oracle.com/darcy/entry/project_coin_final_five</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Stephen Colebourne</title>
		<link>http://blog.tmorris.net/java-7/#comment-105930</link>
		<dc:creator>Stephen Colebourne</dc:creator>
		<pubDate>Thu, 18 Aug 2011 12:39:10 +0000</pubDate>
		<guid isPermaLink="false">http://blog.tmorris.net/?p=1030#comment-105930</guid>
		<description>Perhaps you could check your facts? This syntax is not in Java 7.

That said the Java syntax should be included in Java as it is in Groovy. It would be incredibly popular if it was http://blog.joda.org/2009/01/jdk-7-language-changes-everyone-votes_4547.html . Your example for ?. also makes it perfectly clear why. The "Java" version is a lot more readable than the Scala.</description>
		<content:encoded><![CDATA[<p>Perhaps you could check your facts? This syntax is not in Java 7.</p>
<p>That said the Java syntax should be included in Java as it is in Groovy. It would be incredibly popular if it was <a href="http://blog.joda.org/2009/01/jdk-7-language-changes-everyone-votes_4547.html" onclick="javascript:pageTracker._trackPageview('/outbound/comment/blog.joda.org');" rel="nofollow">http://blog.joda.org/2009/01/jdk-7-language-changes-everyone-votes_4547.html</a> . Your example for ?. also makes it perfectly clear why. The &#8220;Java&#8221; version is a lot more readable than the Scala.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

