Replies: 9 comments 18 replies
-
@jibarozzo mentioned the idea of recreating an R package in Rust, with the goal of performance improvement. The organization https://github.com/extendr provides extension libraries for R in Rust, we might consider either looking to them for design/ architecture inspiration, or even contributing to their projects. Their package https://github.com/extendr/rextendr/ helps facilitate calling Rust from R code. |
Beta Was this translation helpful? Give feedback.
-
@asbates mentioned that Posit’s new IDE, Positron, has some parts written in Rust. we also might considering contributing to that |
Beta Was this translation helpful? Give feedback.
-
For visibility, I am using the following GH project to track our goals here: |
Beta Was this translation helpful? Give feedback.
-
@jdhoffa Thanks for bringing the discussion here and creating the project. |
Beta Was this translation helpful? Give feedback.
-
Although not in this book club, @andyquinterom might be a great person to ask about projects in the intersection between R and Rust. He's super knowledgable, kind and active -- and has experience with rextendr |
Beta Was this translation helpful? Give feedback.
-
Here's a template for R-Rust packages. https://github.com/r-rust/hellorust?tab=readme-ov-file. The slides provide some details about how R uses C headers to interact with Rust code. Something I hadn't realized. |
Beta Was this translation helpful? Give feedback.
-
Hey, |
Beta Was this translation helpful? Give feedback.
-
Another idea could be a R-Rust interface that exposes multi-threading to large R processes?
We could start with trying to do this for one or two |
Beta Was this translation helpful? Give feedback.
-
Not to detract from the started project (which sounds great) but in case people aren't aware of it - {collapse} is a C/C++ analogue of many {dplyr} functions https://sebkrantz.github.io/collapse/articles/collapse_intro.html#fast-data-manipulation I don't think it goes as far as parallel, but there's perhaps things to learn from the choices made there. To start simple (and to keep overlap with the started project) we could implement some common manipulations e.g. |
Beta Was this translation helpful? Give feedback.
-
I am moving the discussion from Slack over to here, as this is close to where the code will end up living!
We've discussed the idea of collaborating on a project to develop a tool, crate or CLI in Rust. Ideally, we want a tool that would simplify our lives or common tasks for software developers. Let's use this thread to talk through all the ideas, and align on something cool
Beta Was this translation helpful? Give feedback.
All reactions