HOME

TheInfoList



OR:

Renjin is an implementation of the
R programming language R is a programming language for statistical computing and graphics supported by the R Core Team and the R Foundation for Statistical Computing. Created by statisticians Ross Ihaka and Robert Gentleman, R is used among data miners, bioinforma ...
atop the
Java Virtual Machine A Java virtual machine (JVM) is a virtual machine that enables a computer to run Java programs as well as programs written in other languages that are also compiled to Java bytecode. The JVM is detailed by a specification that formally describ ...
. It is
free software Free software or libre software is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any adapted versions. Free software is a matter of liberty, ...
released under the
GPL The GNU General Public License (GNU GPL or simply GPL) is a series of widely used free software licenses that guarantee end users the four freedoms to run, study, share, and modify the software. The license was the first copyleft for general us ...
. Renjin is tightly integrated with
Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's mo ...
to allow the embedding of the interpreter into any Java application with full two-way access between the Java and R code. Renjin's development is primarily supported by BeDataDriven, but ultimately made possible by several current and past contributors including Mehmet Hakan Satman, Hannes Mühleisen, and Ruslan Shevchenko.


History

Renjin's roots lie in an abortive 2010 attempt to compile the GNU R interpreter for the JVM via nestedvm, a toolchain which involves cross-compiling C and Fortran code to a static MIPS binary, which nestedvm can then translate to JVM bytecode. This proved challenging as GNU R had grown to rely heavily on dynamic linking and the best C standard library implementation available at the time for the MIPS architecture,
Newlib Newlib is a C standard library implementation intended for use on embedded systems. It is a conglomeration of several library parts, all under free software licenses that make them easily usable on embedded products. It was created by Cygnu ...
, was not fully compatible with the
GNU C Library The GNU C Library, commonly known as glibc, is the GNU Project's implementation of the C standard library. Despite its name, it now also directly supports C++ (and, indirectly, other programming languages). It was started in the 1980s by ...
, against which GNU R had been developed. The experience with the R4JVM project provided the BeDataDriven team with in depth look at the GNU R codebase, and convinced them that a new implementation, written in Java, was a feasible undertaking. Development on Renjin began in October 2010, and rapidly resulted in a functional, if minimal, interpreter for the R language.


References


External links

* {{R (programming language) Free software programmed in Java (programming language) JVM programming languages Scripting languages Cross-platform free software Array programming languages Dynamically typed programming languages Functional languages Data-centric programming languages Free statistical software Literate programming Numerical analysis software for Linux Numerical analysis software for macOS Numerical analysis software for Windows Data mining and machine learning software Free data visualization software