ok, thanks.

Thanks,
Judah Diament
IBM T.J. Watson Research Center
P.O. Box 704 Yorktown Heights, NY 10598, USA
914-784-7813 (TL: 863)

"Successful innovators use both the right and left sides of their brains. 
They look at figures. They look at people. They work out analytically what 
the innovation has to be to satisfy an opportunity. Then they go out and 
look at potential users to study their expectations, their values, and 
their needs."
-Peter F. Drucker



From:   Mikio Takeuchi <mikio.takeu...@gmail.com>
To:     Mailing list for users of the X10 programming language 
<x10-users@lists.sourceforge.net>, 
Date:   08/20/2013 12:19 PM
Subject:        Re: [X10-users] a Rail of comparables



Hi Judah,

X10 does not support declaration site variance.
String implements Comparable[String], Int implements Comparable[Int] etc., 
but neither Comparable[String] nor Comparable[Int] are subtype of 
Comparable[Any] thus "abc" as Comparable[Any] does not work in X10. There 
is no way to implement what you want in pure X10.
If your target is managed X10 only, you can write a static method in Java 
that takes r:Any/*Rail[Comparable[Any]]*/, i:Int and 
o:Any/*Comparable[something]*/, whose body is something like 
"((x10.core.Rail)r).getObjectArray()[i] = o;", then call it from your X10 
code.

-- Mikio


2013/8/21 Judah Diament <dju...@us.ibm.com>
in our case the desire is to know absolutely nothing about the type 
parameter. 


Thanks,
Judah Diament
IBM T.J. Watson Research Center
P.O. Box 704 Yorktown Heights, NY 10598, USA
914-784-7813 (TL: 863) 

"Successful innovators use both the right and left sides of their brains. 
They look at figures. They look at people. They work out analytically what 
the innovation has to be to satisfy an opportunity. Then they go out and 
look at potential users to study their expectations, their values, and 
their needs." 
-Peter F. Drucker 



From:        David P Grove/Watson/IBM@IBMUS 
To:        Mailing list for users of the X10 programming language <
x10-users@lists.sourceforge.net>, 
Date:        08/19/2013 06:18 PM 
Subject:        Re: [X10-users] a Rail of comparables 




Judah Diament/Watson/IBM@IBMUS wrote on 08/19/2013 04:16:56 PM:
> 
> Is there a way to create a Rail whose type is java.lang.Comparable 
> (which is an interface), as in 
> 
> import java.lang.Comparable; 
> ... 
> val myRail: Rail[Comparable]; 
> 
> where I don't know what the actual class of the instances passed in 
> from Java code for myRail to hold will be, but I also don't care 
> because all I want is to be able to use the compareTo() method? 
> 
> 

Hi Judah,

In both Java and X10 Comparable is actually Comparable[T] (ie, a generic 
interface with one type parameter).  Since Java erases generics it lets 
you ignore that sometimes.  X10 doesn't erase generics, so it is going to 
insist that you say Comparable[SOME_TYPE] not just Comparable.


Do you really know nothing about the type parameter of the Comparable, or 
will something like the stubbed out code below work for your usage?

--dave



abstract class A implements Comparable[A] {
 public abstract def compareTo(A):int;
}

interface I extends Comparable[I] {
 public def compareTo(I):int;
}

public class Test {
   public static def main(args:Rail[String]) {
      val r = new Rail[Comparable[A]](10);
      val r2 = new Rail[Comparable[I]](10);
   }

   static def test(x:Rail[Comparable[A]], y:A) {
      return x(1).compareTo(y);
   }

   static def test2(x:Rail[Comparable[I]], y:I) {
      return x(1).compareTo(y);
   }

}
------------------------------------------------------------------------------
Introducing Performance Central, a new site from SourceForge and 
AppDynamics. Performance Central is your source for news, insights, 
analysis and resources for efficient Application Performance Management. 
Visit us today!
http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk
_______________________________________________
X10-users mailing list
X10-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/x10-users


------------------------------------------------------------------------------
Introducing Performance Central, a new site from SourceForge and
AppDynamics. Performance Central is your source for news, insights,
analysis and resources for efficient Application Performance Management.
Visit us today!
http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk

_______________________________________________
X10-users mailing list
X10-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/x10-users

------------------------------------------------------------------------------
Introducing Performance Central, a new site from SourceForge and 
AppDynamics. Performance Central is your source for news, insights, 
analysis and resources for efficient Application Performance Management. 
Visit us today!
http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk
_______________________________________________
X10-users mailing list
X10-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/x10-users

------------------------------------------------------------------------------
Introducing Performance Central, a new site from SourceForge and 
AppDynamics. Performance Central is your source for news, insights, 
analysis and resources for efficient Application Performance Management. 
Visit us today!
http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk
_______________________________________________
X10-users mailing list
X10-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/x10-users

Reply via email to