<?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: Implicits for the Fearless</title>
	<atom:link href="http://blog.tmorris.net/implicits-for-the-fearless/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.tmorris.net/implicits-for-the-fearless/</link>
	<description>The weblog of Tony Morris</description>
	<pubDate>Tue, 06 Jan 2009 22:33:48 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6</generator>
		<item>
		<title>By: Implicits for the Masses &#124; Desk Checked</title>
		<link>http://blog.tmorris.net/implicits-for-the-fearless/#comment-18807</link>
		<dc:creator>Implicits for the Masses &#124; Desk Checked</dc:creator>
		<pubDate>Wed, 08 Oct 2008 10:46:47 +0000</pubDate>
		<guid isPermaLink="false">http://blog.tmorris.net/implicits-for-the-fearless/#comment-18807</guid>
		<description>[...] just finished reading Tony Morris&#8217;s blog post on Scala implicits and saw the following comment: To me, implicits look a lot like global variables, which is why I [...]</description>
		<content:encoded><![CDATA[<p>[...] just finished reading Tony Morris&#8217;s blog post on Scala implicits and saw the following comment: To me, implicits look a lot like global variables, which is why I [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tony Morris</title>
		<link>http://blog.tmorris.net/implicits-for-the-fearless/#comment-2384</link>
		<dc:creator>Tony Morris</dc:creator>
		<pubDate>Sat, 05 Jul 2008 22:12:36 +0000</pubDate>
		<guid isPermaLink="false">http://blog.tmorris.net/implicits-for-the-fearless/#comment-2384</guid>
		<description>Thanks anon for pointing that out. I should have noted in the post that &lt;em&gt;Scala import statements can appear anywhere in a source file&lt;/em&gt;.</description>
		<content:encoded><![CDATA[<p>Thanks anon for pointing that out. I should have noted in the post that <em>Scala import statements can appear anywhere in a source file</em>.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: anon</title>
		<link>http://blog.tmorris.net/implicits-for-the-fearless/#comment-2383</link>
		<dc:creator>anon</dc:creator>
		<pubDate>Sat, 05 Jul 2008 22:03:06 +0000</pubDate>
		<guid isPermaLink="false">http://blog.tmorris.net/implicits-for-the-fearless/#comment-2383</guid>
		<description>Just to clarify, as only the term "lesser scoped" was used, implicits have whatever scope you want them to have.

You can have them retricted to a single block if desired (for example an nested function), scala imports only apply to a specific scope, implicits are no different.

Of course you can also scope them across an entire compilable unit (like in Java) but thats still very far from a global variable.</description>
		<content:encoded><![CDATA[<p>Just to clarify, as only the term &#8220;lesser scoped&#8221; was used, implicits have whatever scope you want them to have.</p>
<p>You can have them retricted to a single block if desired (for example an nested function), scala imports only apply to a specific scope, implicits are no different.</p>
<p>Of course you can also scope them across an entire compilable unit (like in Java) but thats still very far from a global variable.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tony Morris</title>
		<link>http://blog.tmorris.net/implicits-for-the-fearless/#comment-2382</link>
		<dc:creator>Tony Morris</dc:creator>
		<pubDate>Sat, 05 Jul 2008 06:19:51 +0000</pubDate>
		<guid isPermaLink="false">http://blog.tmorris.net/implicits-for-the-fearless/#comment-2382</guid>
		<description>Sean,
Maybe this will help
http://www.vector-seven.com/2008/07/05/implicits-for-the-masses/</description>
		<content:encoded><![CDATA[<p>Sean,<br />
Maybe this will help<br />
<a href="http://www.vector-seven.com/2008/07/05/implicits-for-the-masses/" onclick="javascript:pageTracker._trackPageview('/outbound/comment/www.vector-seven.com');" rel="nofollow">http://www.vector-seven.com/2008/07/05/implicits-for-the-masses/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tony Morris</title>
		<link>http://blog.tmorris.net/implicits-for-the-fearless/#comment-2381</link>
		<dc:creator>Tony Morris</dc:creator>
		<pubDate>Sat, 05 Jul 2008 06:12:50 +0000</pubDate>
		<guid isPermaLink="false">http://blog.tmorris.net/implicits-for-the-fearless/#comment-2381</guid>
		<description>Sean,
I'm happy for you to go on your way with Java, but I'm not sure what else to do to address your concerns, which can be split into 2:

1) Implicits "act" like global variables (and so is problematic).
2) Implicits "feel" like global variables.

I cannot address 2) and I addressed 1) by pointing out that the premise is flawed; they do not act like global variables at all; therefore, the conclusion is not necessarily true.

Enjoy Java :)</description>
		<content:encoded><![CDATA[<p>Sean,<br />
I&#8217;m happy for you to go on your way with Java, but I&#8217;m not sure what else to do to address your concerns, which can be split into 2:</p>
<p>1) Implicits &#8220;act&#8221; like global variables (and so is problematic).<br />
2) Implicits &#8220;feel&#8221; like global variables.</p>
<p>I cannot address 2) and I addressed 1) by pointing out that the premise is flawed; they do not act like global variables at all; therefore, the conclusion is not necessarily true.</p>
<p>Enjoy Java <img src='http://blog.tmorris.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sean Cobb</title>
		<link>http://blog.tmorris.net/implicits-for-the-fearless/#comment-2380</link>
		<dc:creator>Sean Cobb</dc:creator>
		<pubDate>Sat, 05 Jul 2008 05:59:33 +0000</pubDate>
		<guid isPermaLink="false">http://blog.tmorris.net/implicits-for-the-fearless/#comment-2380</guid>
		<description>Actually, you are doing a remarkable job at writing three entire paragraphs without addressing the concern that I'm expressing.



Back to Java, thanks for your time.</description>
		<content:encoded><![CDATA[<p>Actually, you are doing a remarkable job at writing three entire paragraphs without addressing the concern that I&#8217;m expressing.</p>
<p>Back to Java, thanks for your time.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tony Morris</title>
		<link>http://blog.tmorris.net/implicits-for-the-fearless/#comment-2379</link>
		<dc:creator>Tony Morris</dc:creator>
		<pubDate>Sat, 05 Jul 2008 05:43:14 +0000</pubDate>
		<guid isPermaLink="false">http://blog.tmorris.net/implicits-for-the-fearless/#comment-2379</guid>
		<description>Hi Sean,
I am clear on your intended description, however, what you gave is arguably not global ("global" on its own is a misnomer), and is definitely not variable. It is not variable because you have used the Scala &lt;code&gt;val&lt;/code&gt; keyword which implies lack of mutation, side-effect or "varying". The use of the term 'global' requires the definition of a universe of discourse to have a meaning.

Most importantly, it is the "variable" part of "global variable" that is the true problem in programming. Indeed, &lt;am&gt;any&lt;/em&gt; variable is problematic (I am a strong supporter of the arguments put forward by Erik Meijer including and especially this one). A "global variable" typically has a wide domain and so wreaks greater havoc than a lesser-scoped variable which attracts criticism. So, unlike you who has a contention with global variables, I have a problem with &lt;em&gt;any&lt;/em&gt; variable (note, this does not mean I never use them; I just acknowledge the far-reaching implications). However, in this case, since there are no variables, the "dislike" (I quote because I am not fond of using emotional terms to describe such artifacts) is ill-founded.

A certain type of discipline in programming completely eliminates the argument presented by cases of sloppy code. I tried to address this in the post without getting too distracted from the more interesting and deeper discussion.</description>
		<content:encoded><![CDATA[<p>Hi Sean,<br />
I am clear on your intended description, however, what you gave is arguably not global (&#8221;global&#8221; on its own is a misnomer), and is definitely not variable. It is not variable because you have used the Scala <code>val</code> keyword which implies lack of mutation, side-effect or &#8220;varying&#8221;. The use of the term &#8216;global&#8217; requires the definition of a universe of discourse to have a meaning.</p>
<p>Most importantly, it is the &#8220;variable&#8221; part of &#8220;global variable&#8221; that is the true problem in programming. Indeed, <am>any variable is problematic (I am a strong supporter of the arguments put forward by Erik Meijer including and especially this one). A &#8220;global variable&#8221; typically has a wide domain and so wreaks greater havoc than a lesser-scoped variable which attracts criticism. So, unlike you who has a contention with global variables, I have a problem with <em>any</em> variable (note, this does not mean I never use them; I just acknowledge the far-reaching implications). However, in this case, since there are no variables, the &#8220;dislike&#8221; (I quote because I am not fond of using emotional terms to describe such artifacts) is ill-founded.</p>
<p>A certain type of discipline in programming completely eliminates the argument presented by cases of sloppy code. I tried to address this in the post without getting too distracted from the more interesting and deeper discussion.</am></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sean Cobb</title>
		<link>http://blog.tmorris.net/implicits-for-the-fearless/#comment-2378</link>
		<dc:creator>Sean Cobb</dc:creator>
		<pubDate>Sat, 05 Jul 2008 05:24:51 +0000</pubDate>
		<guid isPermaLink="false">http://blog.tmorris.net/implicits-for-the-fearless/#comment-2378</guid>
		<description>Hence me using "like".  They act and feel just the same to a lot of programmers.  For example:

scala&#38;gt; def speakImplicitly (implicit greeting : String) = println(greeting)
speakImplicitly: (implicit String)Unit

scala&#38;gt; speakImplicitly("Goodbye world")
Goodbye world

scala&#38;gt; speakImplicitly
:6: error: no implicit argument matching parameter type String was foud.

scala&#38;gt; implicit val hello = "Hello world"
hello: java.lang.String = Hello world

scala&#38;gt; speakImplicitly
Hello world

It certainly looks like this method received its parameter from a global variable.

Clearer, now?</description>
		<content:encoded><![CDATA[<p>Hence me using &#8220;like&#8221;.  They act and feel just the same to a lot of programmers.  For example:</p>
<p>scala&#38;gt; def speakImplicitly (implicit greeting : String) = println(greeting)<br />
speakImplicitly: (implicit String)Unit</p>
<p>scala&#38;gt; speakImplicitly(&#8221;Goodbye world&#8221;)<br />
Goodbye world</p>
<p>scala&#38;gt; speakImplicitly<br />
:6: error: no implicit argument matching parameter type String was foud.</p>
<p>scala&#38;gt; implicit val hello = &#8220;Hello world&#8221;<br />
hello: java.lang.String = Hello world</p>
<p>scala&#38;gt; speakImplicitly<br />
Hello world</p>
<p>It certainly looks like this method received its parameter from a global variable.</p>
<p>Clearer, now?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tony Morris</title>
		<link>http://blog.tmorris.net/implicits-for-the-fearless/#comment-2377</link>
		<dc:creator>Tony Morris</dc:creator>
		<pubDate>Sat, 05 Jul 2008 04:57:05 +0000</pubDate>
		<guid isPermaLink="false">http://blog.tmorris.net/implicits-for-the-fearless/#comment-2377</guid>
		<description>Importantly, implicits are not variable, nor are they global. I'm not sure what else to say :)</description>
		<content:encoded><![CDATA[<p>Importantly, implicits are not variable, nor are they global. I&#8217;m not sure what else to say <img src='http://blog.tmorris.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sean Cobb</title>
		<link>http://blog.tmorris.net/implicits-for-the-fearless/#comment-2376</link>
		<dc:creator>Sean Cobb</dc:creator>
		<pubDate>Sat, 05 Jul 2008 04:24:32 +0000</pubDate>
		<guid isPermaLink="false">http://blog.tmorris.net/implicits-for-the-fearless/#comment-2376</guid>
		<description>To me, implicits look a lot like global variables, which is why I don't like them.

Or maybe I missed something?</description>
		<content:encoded><![CDATA[<p>To me, implicits look a lot like global variables, which is why I don&#8217;t like them.</p>
<p>Or maybe I missed something?</p>
]]></content:encoded>
	</item>
</channel>
</rss>
