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
-~----------~----~----~----~------~----~------~--~---

Reply via email to