Next rounds of prototype
forax at univ-mlv.fr
Thu Jul 9 14:55:33 UTC 2015
Am i wrong saying that if it is not spelled List<?> but List<€>, then
there is no backward compatibility issue so you don't need a VM change
because all methods can be called using invokedynamic.
On 07/09/2015 04:33 PM, Brian Goetz wrote:
> In the next week or two, we'll be pushing parts of our next round of
> prototype for anyfied generics.
> The central complaint about the existing prototype has been the lack of
> a common supertype between Foo<int> and Foo<String>, other than
> Object. (Much existing code relies on wildcards, for better or worse.)
> Of course, we didn't pursue the original path because we loved the
> resulting type system; we pursued this path because it was *what was
> possible with the JVM architecture we have*. That's not to say that
> changing the JVM is off the table (as it was in Java 5), but doing so is
> even more costly than changing the language (which is already quite
> expensive), and it would have been irresponsible to pursue VM-centric
> options without first exploring what could be done without VM changes.
> Of course, even once "change the VM" is under consideration, there is a
> broad spectrum of cost, ranging from "merely extremely expensive" to
> "obscenely expensive." So a responsible investigation involves
> extensive exploration to identify sensible and cost-effective
> To that end, we've spent the past several months identifying what we
> could do in the VM to enable a useful common supertype for all
> instantiations (whether that is spelled "Foo<?>" is a separate
> question), and, after several rounds, have pared this down to something
> that is conceivably implementable with a tractibly-small set of VM
> changes. In the next week or two, we'll be pushing a prototype
> implementation of the compiler. We'll follow that up with some new
> new documents describing what we've done, and prototypes of some of
> the VM features that are needed to plug the holes. I'm sure there are
> lots of questions; hopefully they will be answered when we can write
> it all up.
> As always, the most important feedback we can get is from people *using*
> the prototype. We'll post a short summary of the language changes so
> folks can play with the prototype more effectively.
More information about the valhalla-dev