<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/">
  <channel rdf:about="http://blog.gmane.org/gmane.comp.lang.scala">
    <title>gmane.comp.lang.scala</title>
    <link>http://blog.gmane.org/gmane.comp.lang.scala</link>
    <description/>
    <syn:updatePeriod>hourly</syn:updatePeriod>
    <syn:updateFrequency>1</syn:updateFrequency>
    <syn:updateBase>1901-01-01T00:00+00:00</syn:updateBase>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.scala/29761"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.scala/29721"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.scala/29709"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.scala/29700"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.scala/29630"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.scala/29611"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.scala/29607"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.scala/29599"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.scala/29565"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.scala/29564"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.scala/29563"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.scala/29552"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.scala/29536"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.scala/29530"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.scala/29526"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.scala/29521"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.scala/29510"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.scala/29504"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.scala/29478"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.scala/29470"/>
      </rdf:Seq>
    </items>
    <image rdf:resource="http://gmane.org/img/gmane-25t.png"/>
    <textinput rdf:resource=""/>
  </channel>
  <image rdf:about="http://gmane.org/img/gmane-25t.png">
    <title>Gmane</title>
    <url>http://gmane.org/img/gmane-25t.png</url>
    <link>http://gmane.org</link>
  </image>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.scala/29761">
    <title>a function is a partial function, not vice versa</title>
    <link>http://comments.gmane.org/gmane.comp.lang.scala/29761</link>
    <description>&lt;pre&gt;Hi,

This sounds like a very simple thing... and there might be reasons for
doing it the way it is now, but anyway.

A partial function in the library is defined as a special case of a
function.
This is wrong, I think. A function is a case of partial function (the one
that happens to have the whole type as a domain).

Do I need to prove it, or is it already obvious?

Thanks,
-Vlad

&lt;/pre&gt;</description>
    <dc:creator>Vlad Patryshev</dc:creator>
    <dc:date>2013-06-18T14:30:23</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.scala/29721">
    <title>secondary constructors in case classes</title>
    <link>http://comments.gmane.org/gmane.comp.lang.scala/29721</link>
    <description>&lt;pre&gt;whats rationale behind not creating additional factory methods in the 
class's companion?

&lt;/pre&gt;</description>
    <dc:creator>Radim Kolar</dc:creator>
    <dc:date>2013-06-14T09:53:12</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.scala/29709">
    <title>Would Scala benefit from allowing partial sealing of classes</title>
    <link>http://comments.gmane.org/gmane.comp.lang.scala/29709</link>
    <description>&lt;pre&gt;At the moment a class can be sealed or not sealed. Would it be useful to be 
able to partially seal a class, where partially sealing means no additional 
fields? Could a lot of currently sealed classes notably the collection 
classes, but also such classes as either and Option then be left partially 
sealed. Could we then get rid of a lot of implicits that have such 
horrendous effects on compile times? Allowing classes such as 

class FooList extends List[Foo] { ...... }

&lt;/pre&gt;</description>
    <dc:creator>Rich Oliver</dc:creator>
    <dc:date>2013-06-13T12:01:00</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.scala/29700">
    <title>the craze that's sweeping scala town</title>
    <link>http://comments.gmane.org/gmane.comp.lang.scala/29700</link>
    <description>&lt;pre&gt;Maybe after all these years I'm getting used to the fact that whatever it
is, someone will have the time and energy to mount a campaign against it.
Have at it.

% cat a.scala
def program(args: Array[String]) {
  println(s"""
    |Thank you for participating in "Top Level Method", the craze that's
sweeping
    |scala town. Your arguments were: ${args mkString " "}
    |""".stripMargin.trim
  )
}
% qscalac a.scala
% qscala program bippy boo
Thank you for participating in "Top Level Method", the craze that's sweeping
scala town. Your arguments were: bippy boo
%

&lt;/pre&gt;</description>
    <dc:creator>Paul Phillips</dc:creator>
    <dc:date>2013-06-13T02:08:14</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.scala/29630">
    <title>fun with union types</title>
    <link>http://comments.gmane.org/gmane.comp.lang.scala/29630</link>
    <description>&lt;pre&gt;https://gist.github.com/paulp/5763757

class Cell[T](value: T) {  var other: T = value}object Test {  def
g[T, U](x: T, y: U) = if (util.Random.nextBoolean) x else y  def f1 =
g(1f, "abc")  def f2 = g(1: Byte, "abc")  def f3 = g(f1, f2)  /***
Inferred return types:  def g[T, U](x: T, y: U): T|U  def f1:
Float|String  def f2: Byte|String  def f3: String|Float|Byte  ***/
def main(args: Array[String]): Unit = {    val x = new Cell(f3)
x.other = 1f          // ok ( Float &amp;lt;:&amp;lt; Byte|Float|String)    x.other
= (1: Byte)   // ok (  Byte &amp;lt;:&amp;lt; Byte|Float|String)    x.other = "def"
     // ok (String &amp;lt;:&amp;lt; Byte|Float|String)    x.other = 1d          //
nope    // a.scala:15: error: type mismatch;    //  found   :
Double(1.0)    //  required: Byte|Float|String    //     x.other = 1d
  //               ^  }}

&lt;/pre&gt;</description>
    <dc:creator>Paul Phillips</dc:creator>
    <dc:date>2013-06-12T08:47:07</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.scala/29611">
    <title>Will the videos from ScalaDays be available somewhere?</title>
    <link>http://comments.gmane.org/gmane.comp.lang.scala/29611</link>
    <description>&lt;pre&gt;... assuming that the talks will be recorded, of course.

Thanks,

Simon

&lt;/pre&gt;</description>
    <dc:creator>Simon Ochsenreither</dc:creator>
    <dc:date>2013-06-10T16:14:00</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.scala/29607">
    <title>dark magicks in the collections</title>
    <link>http://comments.gmane.org/gmane.comp.lang.scala/29607</link>
    <description>&lt;pre&gt;How obvious is the problem with this class? (Maybe there are a lot of
problems with this class, but I think one problem is worse.) Is the problem
so obvious that people won't run into it? Is the behavior which underlies
it accomplishing something desirable most of the time; or even, more often
than not?

implicit class ExtensionMethods[A, CC[X] &amp;lt;: Iterable[X], Repr](coll: CC[A]
with TraversableLike[A, Repr]) {
  def bippy(implicit cbf: generic.CanBuildFrom[CC[A], Int, CC[Int]]) = coll
zip coll.map(_.toString.length)
}

I have never seen the behavior in question come up in any context other
than "it doesn't work" or some variation thereof. Do people really want
magic of this kind to happen without any explicit indication from the
programmer? Are you sure? Will all your collaborators see what the problem
with this class is?

If you intend to take a contrary position, I hope you will confirm that you
immediately saw the problem in the code above - before you looked at the
full example, which I will append after&lt;/pre&gt;</description>
    <dc:creator>Paul Phillips</dc:creator>
    <dc:date>2013-06-10T07:47:58</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.scala/29599">
    <title>Bug or a consequence of the lack of virtual classes?</title>
    <link>http://comments.gmane.org/gmane.comp.lang.scala/29599</link>
    <description>&lt;pre&gt;Hi everyone!

Consider these declarations:

  class Foo {
    class Bar {
      def foo = 1
    }
  }
  
  class SubFoo extends Foo {
    class Bar {
      def foo = 42
    }
  }

Let's create some instances:
  
  val foo = new Foo
  val fooBar = new foo.Bar
  fooBar.foo                                      //&amp;gt; res0: Int = 1

  val subFoo = new SubFoo 
  val subFooBar = new subFoo.Bar
  subFooBar.foo                                   //&amp;gt; res1: Int = 42

  val superFoo: Foo = subFoo
  val superFooBar = new superFoo.Bar
  superFooBar.foo                                 //&amp;gt; res2: Int = 1
  
The last result is a bit scary, because the syntax looks like dynamic 
binding, but the method is called on the static type instead.

Is this a bug, or expected, because Scala doesn't have virtual classes 
(yet)?

Thanks and bye,

Simon

&lt;/pre&gt;</description>
    <dc:creator>Simon Ochsenreither</dc:creator>
    <dc:date>2013-06-09T22:37:30</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.scala/29565">
    <title>consolidate def x and def x() functions</title>
    <link>http://comments.gmane.org/gmane.comp.lang.scala/29565</link>
    <description>&lt;pre&gt;I'm not sure what the reasoning for having `def foo = ` and `def foo() 
=` outside of confusing the newly initiated
I don't buy the semantic difference reason
if empty arg lists were required, then you wouldn't need to distinguish 
var and def

proposal:
   make them same.
   function a() can be called by this.a as well and def a = can be 
called by a()

&lt;/pre&gt;</description>
    <dc:creator>Radim Kolar</dc:creator>
    <dc:date>2013-06-07T19:36:13</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.scala/29564">
    <title>Cloneable</title>
    <link>http://comments.gmane.org/gmane.comp.lang.scala/29564</link>
    <description>&lt;pre&gt;Shouldn't scala.Cloneable work like this: there is a synthetic signature of
type

  def clone(): "MyType"

and if you extend a class which has a Cloneable parent, you will be
abstract unless you implement this signature with your type? Why would
anyone want to work with guarantees like these (from the javadoc for
java.lang.Cloneable)

*Note that this interface does not contain the clone method. Therefore, it
is not possible to clone an object merely by virtue of the fact that it
implements this interface. Even if the clone method is invoked
reflectively, there is no guarantee that it will succeed.*
*
*
Note that I intentionally made the signature public, because

*By convention, classes that implement this interface should override
Object.clone (which is protected) with a public method.
*

By convention? What are we, savages?

&lt;/pre&gt;</description>
    <dc:creator>Paul Phillips</dc:creator>
    <dc:date>2013-06-07T19:12:32</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.scala/29563">
    <title>customized default value for user defined type</title>
    <link>http://comments.gmane.org/gmane.comp.lang.scala/29563</link>
    <description>&lt;pre&gt;if you create instance in type definition, it will be used as default 
value. If not then today functionality is unchanged

type five = new Integer(5)

then you can do

var x:five = _

x == 5

&lt;/pre&gt;</description>
    <dc:creator>Radim Kolar</dc:creator>
    <dc:date>2013-06-07T10:57:48</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.scala/29552">
    <title>Syntax request: Allow type signatures in source.</title>
    <link>http://comments.gmane.org/gmane.comp.lang.scala/29552</link>
    <description>&lt;pre&gt;Hello all,
I've just recently started learning Scala. One thing I miss from Haskell is 
the ability to have clean type signatures and function definitions, since 
the two can be separate.

Here's an example from the vector package.

foldl :: Vector v b =&amp;gt; (a -&amp;gt; b -&amp;gt; a) -&amp;gt; a -&amp;gt; v b -&amp;gt; afoldl f z = ...


It's easy to tell the type signature of foldl from the source without 
having to look at documentation. It makes it easier to figure out what 
foldl does and the order I should pass arguments.

Contrast the above with Scala.

override def foldRight[B](z: B)(op: (A, B) =&amp;gt; B): B = ...

The types are inline with the definition, so that determining the type for 
foldRight requires mentally filtering out value names. I constantly find 
myself looking at HTML documentation which shows a cleaner representation 
of a function's type. Allowing something like the following in source would 
be a nice option.

override def foldRight : [B] (B) =&amp;gt; ((A, B) =&amp;gt; B) =&amp;gt; B

def foldRight(z)(op) =
    reverse.foldLeft(z)((right, le&lt;/pre&gt;</description>
    <dc:creator>Jeff Shaw</dc:creator>
    <dc:date>2013-06-06T15:03:30</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.scala/29536">
    <title>Scala style: function literals</title>
    <link>http://comments.gmane.org/gmane.comp.lang.scala/29536</link>
    <description>&lt;pre&gt;Hi all,

Recently, I reviewed code with a mix of function literals and other expressions, such as

    onComplete { v =&amp;gt; p complete { v map f } }

I agree with the syntax to pass function literals as follows:

    list map { el =&amp;gt; &amp;lt;body&amp;gt; }

It reads very natural, and the function literal is clearly demarcated.

On the other hand, I'd prefer to pass expressions that are *not* function literals to be passed using regular parentheses:

    p.complete(v.map(f))

Note that I didn't write `p.complete(v map f)` because
a) I don't think the infix syntax is a good choice for `v map f`, since neither is `f` is a function literal nor is `map` a symbolic operator, and
b) for consistency `p.complete` should be invoked in the same way as `v.map`. 

Taken together I'd prefer to express the first example as follows:

    onComplete { v =&amp;gt; p.complete(v.map(f)) }

What's interesting about this style is that it makes code where function literals appear interspersed with other expressions easy to read:

    that onComplete { c &lt;/pre&gt;</description>
    <dc:creator>Philipp Haller</dc:creator>
    <dc:date>2013-06-05T23:38:39</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.scala/29530">
    <title>Accessing defaultGetterName leads to type error</title>
    <link>http://comments.gmane.org/gmane.comp.lang.scala/29530</link>
    <description>&lt;pre&gt;Welcome to Scala version 2.11.0-20130603-221210-fb06073844 (OpenJDK 
64-Bit Server VM, Java 1.7.0_21).
Type in expressions to have them evaluated.
Type :help for more information.

scala&amp;gt; import scala.reflect.runtime.universe._
import scala.reflect.runtime.universe._

scala&amp;gt; class Foo(val i: Int, val j: Int = 0)
defined class Foo

scala&amp;gt; val tn = nme.asInstanceOf[scala.reflect.internal.StdNames#TermNames]
tn: scala.reflect.internal.StdNames#TermNames = 
scala.reflect.internal.StdNames$nme$&amp;lt; at &amp;gt;15b4a221

scala&amp;gt; tn.defaultGetterName(nme.CONSTRUCTOR, 1)
&amp;lt;console&amp;gt;:18: error: type mismatch;
  found   : reflect.runtime.universe.nme.NameType
     (which expands to)  reflect.runtime.universe.TermName
  required: _14.Name where val _14: scala.reflect.internal.StdNames
               tn.defaultGetterName(nme.CONSTRUCTOR, 1)
                                        ^

// different error message
scala&amp;gt; tn.defaultGetterName(nme.CONSTRUCTOR, 1)
&amp;lt;console&amp;gt;:18: error: type mismatch;
  found   : reflect.runtime.universe.nme.NameTy&lt;/pre&gt;</description>
    <dc:creator>Simon Schäfer</dc:creator>
    <dc:date>2013-06-05T14:11:36</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.scala/29526">
    <title>Unpack tuple to var</title>
    <link>http://comments.gmane.org/gmane.comp.lang.scala/29526</link>
    <description>&lt;pre&gt;proposed addition to scala language:

val t = (1,2,3)
var a,b,c = 10
( a,b,c ) = t

will do

a = 1
b = 2
c = 3

https://issues.scala-lang.org/browse/SI-7547

&lt;/pre&gt;</description>
    <dc:creator>Radim Kolar</dc:creator>
    <dc:date>2013-06-04T23:06:57</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.scala/29521">
    <title>Repetition of type parameter bound</title>
    <link>http://comments.gmane.org/gmane.comp.lang.scala/29521</link>
    <description>&lt;pre&gt;Why am I forced to repeat the type bound A &amp;lt;: T in Y?

   trait T

   class X[A &amp;lt;: T](a: A)
   class Y[A &amp;lt;: T](a: A) extends X(a)

For the compiler it should not be necessary, it already knows the bound 
from X. So, is there a use case where it is necessary to force the 
programmer to repeat the type bound or is it just not implemented 
behavior / avoided for documentation purposes.

&lt;/pre&gt;</description>
    <dc:creator>Simon Schäfer</dc:creator>
    <dc:date>2013-06-03T21:50:13</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.scala/29510">
    <title>GSoC Scala 2013</title>
    <link>http://comments.gmane.org/gmane.comp.lang.scala/29510</link>
    <description>&lt;pre&gt;Hello,

    Congratulations to Scala team !! 

    Total 9 projects are selected from 14 proposed list of Scala projects, 
Its a great achievement.

    My best wishes to Students and their Mentors.

    Have a fun learning and great coding Summer !!
*
--
Cheers,
Mayur*



    

&lt;/pre&gt;</description>
    <dc:creator>Mayur Patil</dc:creator>
    <dc:date>2013-05-30T07:27:16</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.scala/29504">
    <title>repl bug? (value class array)</title>
    <link>http://comments.gmane.org/gmane.comp.lang.scala/29504</link>
    <description>&lt;pre&gt;i'm using scala2.10.1

scala&amp;gt; class A(val i:Int) extends AnyVal
defined class A

scala&amp;gt; val arr = new Array[A](1)
arr: Array[A] = Array(null)

scala&amp;gt; arr(0)
java.lang.NullPointerException
    at .&amp;lt;init&amp;gt;(&amp;lt;console&amp;gt;:10)
    at .&amp;lt;clinit&amp;gt;(&amp;lt;console&amp;gt;)
    at .&amp;lt;init&amp;gt;(&amp;lt;console&amp;gt;:7)
    at .&amp;lt;clinit&amp;gt;(&amp;lt;console&amp;gt;)
    at $print(&amp;lt;console&amp;gt;)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at scala.tools.nsc.interpreter.IMain$ReadEvalPrint.call(IMain.scala:734)

I think the NEP may be caused by assign "null" to value class A , or type
inference ?

if i use scalac compile the file and run :

$ cat V.scala
class A(val i:Int) extends AnyVal;

object Main extends App{
  val arr = new Array[A](1);
  println("here=" + arr(0));
}

$ scalac V.scala &amp;amp;&amp;amp; scala Main
here=null  // it's o&lt;/pre&gt;</description>
    <dc:creator>wang hongjiang</dc:creator>
    <dc:date>2013-05-29T12:24:14</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.scala/29478">
    <title>the only true constant is change</title>
    <link>http://comments.gmane.org/gmane.comp.lang.scala/29478</link>
    <description>&lt;pre&gt;I noticed these aren't final in the scala.math package object:

val  E = java.lang.Math.E
val Pi = java.lang.Math.PI

That means your "area" method looks like this

         0: iconst_2
         1: i2d
         2: getstatic     #13                 // Field
scala/math/package$.MODULE$:Lscala/math/package$;
         5: invokevirtual #17                 // Method
scala/math/package$.Pi:()D
         8: dmul
         9: dload_1
        10: dmul
        11: dreturn

when it could look like this

         0: ldc2_w        #23                 // double 6.283185307179586d
         3: dload_1
         4: dmul
         5: dreturn

Is there some reason NOT to fold these constants? Anyone know if Oracle is
planning on changing the values of Pi or E in java 8?

&lt;/pre&gt;</description>
    <dc:creator>Paul Phillips</dc:creator>
    <dc:date>2013-05-27T19:31:15</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.scala/29470">
    <title>Crazy thoughts: Unifying for{} comprehensions and {blocks}?</title>
    <link>http://comments.gmane.org/gmane.comp.lang.scala/29470</link>
    <description>&lt;pre&gt;I've been thinking about this recently, and it's pretty far out, but bear
with me.

I don't pretend to speak for everyone, but from my personal experience, the
big blocker from converting code from a "normal" style:

val x = {
  val a = 2
  val b = 3
  val c = 4
  println("Debug: " + (a + b))
  a + b + c
}

into a monadic style using for comprehensions:

val x = {
  val a = 2
  for{
    b &amp;lt;- List(1, 2, 3)
    c = 4
    _ = println("Debug: " + (a + b))
  } yield a + b + c
}


Is the fact that it is effectively a complete re-write:

- you need to put the *for* at the top
- the *yield* at the bottom
- move any assignments before the first &amp;lt;- outside the for{}'s body
- move the final expression outside the curly braces
- change any bare statements (like the println) into an awkward assignment
to _

These changes are in addition to the monadic &amp;lt;- statements, which are new
semantics, so it's acceptable that they need new syntax.

One thing of note is that all these changes you have to perform are *purely
cosmetic*&lt;/pre&gt;</description>
    <dc:creator>Haoyi Li</dc:creator>
    <dc:date>2013-05-27T03:53:16</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.scala/29465">
    <title>Reference equality and value equality</title>
    <link>http://comments.gmane.org/gmane.comp.lang.scala/29465</link>
    <description>&lt;pre&gt;Just thinking about Reference equality and value equality and whether they 
are fundamentally the same method at all and if there is any virtue to 
having them unified apart from compatibility with the Java ecosystem. 
Reference equality means isSameObject would it not be better to have a 
differnet method name / symbol combination?

&lt;/pre&gt;</description>
    <dc:creator>Rich Oliver</dc:creator>
    <dc:date>2013-05-26T13:43:30</dc:date>
  </item>
  <textinput rdf:about="http://search.gmane.org/?group=$group=gmane.comp.lang.scala">
    <title>Search Engine</title>
    <description>Search the mailing list at Gmane</description>
    <name>query</name>
    <link>http://search.gmane.org/?group=$group=gmane.comp.lang.scala</link>
  </textinput>
</rdf:RDF>
