Conference Program Home
  My Program

All Times EDT

Abstract Details

Activity Number: 65 - Computational Challenges in Software and Algorithms
Type: Contributed
Date/Time: Sunday, August 7, 2022 : 4:00 PM to 5:50 PM
Sponsor: Section on Statistical Computing
Abstract #322997
Title: Writing R Extensions in Rust
Author(s): David B. Dahl*
Companies: Brigham Young University
Keywords: Cargo; CRAN; Development; R packages; Rust; Software
Abstract:

Rust is a statically-typed, general-purpose programming language which emphasizes memory safety without compromising runtime performance. Its memory safety guarantees are achieved through the language's design and the compiler's borrow checker. Rust rated the "most loved programming language" in the Stack Overflow Annual Developer Survey every year since 2016. This paper complements "Writing R Extensions," the official guide for writing R extensions, for those interested in developing R packages using Rust. It highlights idiosyncrasies of R and Rust that must be addressed by any integration and describes how to develop Rust-based packages which comply with the CRAN Repository Policy. This paper introduces the "cargo framework", a transparent Rust-based API which wraps commonly-used parts of R's API with minimal overhead and allows a programmer to easily add additional wrappers.


Authors who are presenting talks have a * after their name.

Back to the full JSM 2022 program