extendr: frictionless bindings for R and Rust

Mossa Merhi Reimert (University of Copenhagen)
Thursday session 1 (Zoom) (13:0014:30 BST)
Watch a recording of this talk on YouTube
Download this talk's slides

ExtendR is a suite of software packages that brings Rust to the R ecosystem. First, an overview of the various parts of extendR. (1) libR-sys which is a sys-crate for R API (2) extendr crate that enables calling Rust function in R, data type marshalling, etc. (3) An accompanying R-package rextendr that incorporates Rust's tooling cargo etc. into R.

Lastly, we'll have a look at the internals of extendR and the unique FFI challenges that working with R and its C-API.

References

  • [1] Mossa Merhi Reimert, Josiah D. Parry, Matt Denwood, Maya Katrin Gussmann, Claus O. Wilke, Ilia Kosenkov, Michael Milton, Amy Thomason. extendr: Frictionless bindings for R and Rust, Journal of Open Source Software 9(99), 2024. [DOI: 10.21105/joss.06394]