#binding #statistics #math #r #ffi

displayr-rustr

Rust and R integration

1 unstable release

Uses old Rust 2015

0.2.0 Jul 31, 2024

#1031 in Algorithms

Apache-2.0

2.5MB
49K SLoC

WARNING

R and Rust are rapidly developing in these two years. R introduced ALTREP and Rust introduced 2018 Edition.

But this repo is not updating regularly, so it may not work with the latest version of R and Rust.

Testing R version is 3.3.0, Rust version is 1.13.

Rust and R Integration

Build Status License: Apache-2.0

rustr is a Rust library that provides a Rust API to work with R.

Write pure Rust code with rustr, and then use rustinr R package to generate Rust interfaces to R.

More info: https://rustr.org

This project is now under construction. Issues and contributions are welcome!

Changes on master since the latest crates.io v0.1.9

Todo for v0.2

rustr

  • random numbers from R
  • RChar for CHARSXP string
  • check bindgen code
  • check NA for RNew IntoR
  • nalgebra traits with RBLAS #3
  • more methods for R Vector Obejct types
  • stablize R in Rust with feature::engine module
  • more RNew IntoR From Into for types
  • DataFrame type for RList
  • nalgebra crate types
  • num crate types
  • log crate log trait

rustinr

Will try CRANing when R 3.3.0 release

  • find and fix bugs
  • CRAN
  • knitr code engine

book

  • more about rdll module
  • about concurrency
  • about unsafe
  • about memory safety and garbage collection
  • R in Rust with feature::engine module
  • more examples with vectors rustr/gallery #1
  • more RNew, IntoR From Into for types
  • how to use rustr::rdll module
  • R Object - DataFrame type
  • nalgebra crates types
  • num crates types
  • rusty-machine crate rusty-machine examples
  • R in Rust with feature::engine module

Todo for future

  • date type with chrono
  • sugar function
  • R6 & Rust type
  • wait for a great matrix library for Rust! There are some promising crates.

Miss a feature? Talk on forum or create an issue.

Dependencies

~0–1MB
~18K SLoC