My favorites | Sign in
Project Home Downloads Wiki Issues Source
Project Information
Members
Featured
Wiki pages
Links

Overview

Renjin is a new JVM-based interpreter for the R language. It is intended to be 100% compatible with the original interpreter, to run on the Google AppEngine platform, and generally to open new opportunities for embedding libraries and programs written in R.

Download the lastest build

Try the interpreter online

Status

Though in the early stages of development, the interpreter can already execute a substantial subset of the R language, and enough to load and run the existing R-language base package.

News

January 2012. Welcome Jamie Kingsbery as a new committer! Jamie has just finished a significant contribution that fills out renjin's implementation of complex numbers, including adding support for complex eigenvalues.

Jamie leads a team of quantitative developers at Yodle, where they use both R and Java.

Also, Renjin was presented to the Compiler Theory Group at TU Dortmund, who have a joint project with their Statistics department to optimize R-language programs. They are considering Renjin as a base. Slides Here

December 2011. Have posted a Plan of Attack for 2012. Other update worthy notes:

  • Graphics engine implementation started (see GraphicsTest for a pretty bar chart)
  • JIT compiler started
  • Many new tests and bug fixes to bring renjin closer to 100% compliance with R2.X

October 2011. Considerable progress has made over the last month on several fronts:

  • Renjin's performance is now comparable to R 2.12 on many benchmarks!
  • Substantial part of matrix math is implemented, including svd(), eigen(), and solve() via the netlib-java project. Renjin users can choose between the JVM bytecode version of LAPACK and BLAS and optimized native versions.
  • Calling into Java from R is now fully implemented via the import() method
  • 57% of ~700 primitive functions are now implemented

August 2011. Welcome to M.Hakan Satman of Istanbul University, Department of Econometrics, who joins the project as contributor!

May 2011. library() is working in HEAD! Packages written in R and packaged with R-2.10.x can now be successfully loaded without modification.

Renjin was presented at the Dutch National Functional Programming Day at the University of Twente on 7 Jan 2011.

Get Involved

Java coder with an R habit? See the Contributing page on how to get started. Contact @bedatadriven on Twitter or alex@bedatadriven.com.

Goals

Build an implementation of R that:

  • Runs purely in the JVM, including Google App Engine
  • Fully compatible with R packages written for R 2.10.x
  • Compiles elligible, heavily-used closures to JVM byte code
  • Enables R-language objects to be backed by datastores other than memory

Screenshots

Powered by Google Project Hosting