jsr223: A Java Platform Integration for R with Programming Languages Groovy, JavaScript, JRuby, Jython, and Kotlin

Abstract:

The R package jsr223 is a high-level integration for five programming languages in the Java platform: Groovy, JavaScript, JRuby, Jython, and Kotlin. Each of these languages can use Java objects in their own syntax. Hence, jsr223 is also an integration for R and the Java platform. It enables developers to leverage Java solutions from within R by embedding code snippets or evaluating script files. This approach is generally easier than rJava’s low-level approach that employs the Java Native Interface. jsr223’s multi-language support is dependent on the Java Scripting API: an implementation of “JSR-223: Scripting for the Java Platform” that defines a framework to embed scripts in Java applications. The jsr223 package also features extensive data exchange capabilities and a callback interface that allows embedded scripts to access the current R session. In all, jsr223 makes solutions developed in Java or any of the jsr223-supported languages easier to use in R.

Cite PDF Tweet

Authors

Affiliations

Floid R. Gilbert

 

David B. Dahl

 

Published

Dec. 7, 2018

Received

May 29, 2018

DOI

10.32614/RJ-2018-066

Volume

Pages

10/2

440 - 454

Supplementary materials

Supplementary materials are available in addition to this article. It can be downloaded at RJ-2018-066.zip

CRAN packages used

rJava, cranlogs, jsr223, rscala, jdx, V8, R6, Rserve, opencpu, rGroovy, jsonlite, reticulate, rJython, PythonInR, rjson

CRAN Task Views implied by cited packages

WebTechnologies, ModelDeployment, NumericalMathematics, HighPerformanceComputing

Footnotes

    Reuse

    Text and figures are licensed under Creative Commons Attribution CC BY 4.0. The figures that have been reused from other sources don't fall under this license and can be recognized by a note in their caption: "Figure from ...".

    Citation

    For attribution, please cite this work as

    Gilbert & Dahl, "The R Journal: jsr223: A Java Platform Integration for R with Programming Languages Groovy, JavaScript, JRuby, Jython, and Kotlin", The R Journal, 2018

    BibTeX citation

    @article{RJ-2018-066,
      author = {Gilbert, Floid R. and Dahl, David B.},
      title = {The R Journal: jsr223: A Java Platform Integration for R with Programming Languages Groovy, JavaScript, JRuby, Jython, and Kotlin},
      journal = {The R Journal},
      year = {2018},
      note = {https://doi.org/10.32614/RJ-2018-066},
      doi = {10.32614/RJ-2018-066},
      volume = {10},
      issue = {2},
      issn = {2073-4859},
      pages = {440-454}
    }