On Oct 13, 2007, at 10:46 AM, Rémi Forax wrote: > and reified generics (generics at runtime) [11] > > [11] http://www.weiqigao.com/blog/2007/01/20/ > java_generics_let_the_other_shoe_drop.html
Absolutely. That's about where I gave up lengthening the list, because I didn't have a reference handy, and I'm not sure what the cost will be, and the list seemed long enough for starters. Thanks for the reference! Here's another I left off, lacking a reference: - interface injection (for languages with traits) The idea there is to allow an interface J to be marked "injectable". There is a slow path for asking whether class X implements interface J. Have some sort of up-call for the first time anybody asks the question for a particular pair (X, J). The up-call does trait matching or whatever, and returns a permanent answer. If the answer is "yes", then the up- call also returns any necessary adapter methods (assuming X does not already happen to implement the exact methods required by J). I believe this would help the implementation of Scala, Fortress, etc. As a related more obvious one, schema-preserving method injection would help. The idea there is to allow new methods to be adjoined, but without changing existing override relationships. This would make it much easier to build adapters on pre-existing classes, and would cleanly cover nasty cases like the ones mentioned by John Wilson on this list. (Q: How do you get a reflective super.m()? A: You don't, if the class has already been loaded. A2: You adjoin an adapter method with an invokespecial.) Best, -- John --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "JVM Languages" group. To post to this group, send email to jvm-languages@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/jvm-languages?hl=en -~----------~----~----~----~------~----~------~--~---