GraalVM

OVERVIEW

  • There are dozens of programming languages in widespread commercial use. However, aside from a small proportion - mostly those used for system software (C, C++), high-performance computing (FORTRAN) and those used widely for business applications (Java, C#), most have underperforming implementations. Languages for technical computing (e.g., R, APL), scripting (Python, Perl, PHP, Ruby) and other domains are implemented mostly via straightforward interpretation, by direct parsing from source, or in conjunction with a virtual machine, but in most cases leaving a great deal of performance on the table. This is understandable, as building a high-performance implementation requires a significant amount of effort and specialized expertise (e.g., in compilation and garbage collection). Graal aims to remedy that situation, by building language implementations atop a framework capable of delivering high performance for a wide variety of programming languages with modest implementation effort.

    We are working on implementations of the following:

    • JavaScript
    • R - our implementation is called FastR and has been undertaken in collaboration with Purdue University
    • Ruby - our implementation is now part of JRuby 9000.
    • Java
    • C

    The following Graal-based language projects were built by collaborators or are no longer active:

    • Python - implementation undertaken by our collaborators at UC Irvine
    • SmallTalk
    • J

PUBLICATIONS