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