Out of curiosity, does the Scala 2.10 Spark interpreter patch
fix this using macros as Matei suggests in the linked discussion? Or is
that still future work, but now possible?


On Fri, Oct 11, 2013 at 6:04 PM, Reynold Xin <[email protected]> wrote:

> This is a known problem and has to do with peculiarity of the Scala shell:
>
>
> https://groups.google.com/forum/#!searchin/spark-users/error$3A$20type$20mismatch|sort:relevance/spark-users/bwAmbUgxWrA/HwP4Nv4adfEJ
>
>
> On Fri, Oct 11, 2013 at 6:01 PM, Aaron Davidson <[email protected]>wrote:
>
>> Playing around with this a little more, it seems that classOf[Animal] is
>> "this.Animal" in Spark and "Animal" in normal Scala.
>>
>> Also, trying to do something like this:
>> class Zoo[A <: *this.*Animal](thing: A) { }
>>
>> works in Scala but throws a weird error in Spark:
>> "error: type Animal is not a member of this.$iwC"
>>
>>
>> On Fri, Oct 11, 2013 at 4:55 PM, Shay Seng <[email protected]> wrote:
>>
>>> Hey,
>>> I seeing a funny situation where a piece of code executes in a pure
>>> Scala REPL but not in a Spark-shell.
>>> I'm using Scala 2.9.3 with Spark 0.8.0
>>>
>>> In Spark I see:
>>> class Animal() {
>>>     def says():String = "???"
>>> }
>>>
>>> val amimal = new Animal
>>> amimal: this.Animal = Animal@df27cd5
>>>
>>> class Zoo[A <: Animal](thing: A) {
>>>     def whoami()=thing.getClass
>>>     def chat()=thing.says
>>> }
>>>
>>> val z = new Zoo[Animal](amimal)
>>> <console>:16: error: type mismatch;
>>>  found   : this.Animal
>>>  required: this.Animal
>>>        val z = new Zoo[Animal](amimal)
>>>                                  ^
>>>
>>> But if I run the exact code in the scala REPL:
>>>
>>> val z = new Zoo[Animal](amimal)
>>> z: Zoo[Animal] = Zoo@738ff53f
>>>
>>>
>>> Both repl report using scala 2.9.3
>>> Spark: "Using Scala version 2.9.3 (Java HotSpot(TM) 64-Bit Server VM,
>>> Java 1.7.0_40)"
>>> Scala: "Welcome to Scala version 2.9.3 (Java HotSpot(TM) 64-Bit Server
>>> VM, Java 1.7.0_40)."
>>> Any ideas?
>>>
>>> tks,
>>> Shay
>>>
>>
>>
>

Reply via email to