John Rose a écrit : > Hello world. I propose a new OpenJDK project[1], > the Multi-Language VM, to be abbreviated "mlvm", > and to be sponsored by the HotSpot group[2]. > > This project will be open for prototyping > JVM features aimed at efficiently supporting > languages other than Java. > > The emphasis will be on completing the existing > bytecode and execution architecture with general > purpose extensions, as opposed to a new feature > for just one language, or adjoining an unrelated > new execution model. > > The emphasis will also be on work which removes > "pain points" already observed by implementors > of successful or influential languages, as opposed > to more speculative work on unproven features or > niche languages. > > Virtual machines produced by this project will > be standards-conforming, in that they will not change > the meaning or behavior of existing Java classes > and classfile formats. They may define variations > or extensions of the class format, or new kinds of > objects, whose meaning and behavior are beyond > the scope of current Java and JVM specifications. > > However, these extended codes and data structures > will interoperate as much as possible with Java objects. > > In addition, as a way of delimiting separate prototyping > efforts, each new feature will come with a switch which > turns it off, and that switch will be "off" by default. > This is the approach used in the Kitchen Sink Language > project.[3] > > This proposal refines and completes a partial proposal > I sent earlier this year to the HotSpot project, > a proposal for a "Kitchen Sink VM"[4]. The present > proposal is more specifically directed at supporting > new languages (i.e., those languages which are > new to the JVM). > > Here are some examples of features that could be > prototyped in this project, if developers were found > who are willing and able: > > - tail calls and tail recursion [5] > - continuations and coroutines [6] > - tuples and value-oriented types [7] > - lightweight method objects [8] > - runtime support for closures [9] > - invokedynamic [10] and reified generics (generics at runtime) [11]
[11] http://www.weiqigao.com/blog/2007/01/20/java_generics_let_the_other_shoe_drop.html > > Prototyping for JSR 292[11] is likely to occur as > a part of this project. Note that none of the above > suggested features is specific to any single language. > > As the current OpenJDK Project guidelines request, > please send followups to the discussion list.[12] > > Thanks very much for your attention to this matter, > > -- John Rose > http://blogs.sun.com/jrose/ > > [1] http://openjdk.java.net/projects/ > [2] http://openjdk.java.net/groups/hotspot/ > [3] http://ksl.dev.java.net/ (Kitchen Sink Language) > [4] > http://mail.openjdk.java.net/pipermail/hotspot-dev/2007-July/000091.html > (Kitchen Sink VM) > [5] http://blogs.sun.com/jrose/entry/tail_calls_in_the_vm > [6] http://lambda-the-ultimate.org/node/1002 (Continuations for Java) > [7] http://blogs.sun.com/jrose/entry/tuples_in_the_vm > [8] http://groups.google.com/group/jvm-languages/t/dbc3a4a382868904 > (Lightweight Methods) > [9] http://www.javac.info/ (Java Closures) > [10] > http://groups.google.com/group/jvm-languages/web/implementation-of-multimethods-in-jvm-languages > > > [11] http://jcp.org/en/jsr/detail?id=292#2 (Original JSR 292 request) > [12] http://mail.openjdk.java.net/mailman/listinfo/discuss cheers, Rémi --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "JVM Languages" group. To post to this group, send email to [email protected] 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 -~----------~----~----~----~------~----~------~--~---
