「RパッケージでRustを使うには: extendr入門」というタイトルでTokyo.Rで発表してきました。

発表してきました。

https://tokyor92-slides-rust-and-r.vercel.app/

こっちでも見れます:

extendrとは?

RとRustを連携させるためのフレームワークです。 bindgenでRのC APIバインディングを生成し、それをいい感じのインターフェースにまとめたもの、です。 FFI経由でCとやりとりする場合だとベクトルをどうやって渡せばいいかわからない!みたいな問題があったりしますが、 こっちはRのAPIを直接使っているので(あとマクロの魔術により)よりスムーズな使い心地になっています。

なぜか去年の12月頃から私もメンバーとして細々したissueを片付けるなどしています。 Rust初心者なんですけど...

extendrを使ってRパッケージを作るには?

とりあえずGetting started的なところは上のスライドに書いたのでそちらを読んでください。 もうちょっと詳しい解説などは改めてこのブログに書こうと思います。

どういう内容に需要があるのかとか知りたいので、なにか質問やリクエストなどあれば、r-wakalangに#rustチャンネルをつくったのでそちらで気軽に聞いてください。↓でツイートしたリンクから飛べます。 ツイッターやこのブログのコメント欄で連絡いただいても大丈夫です。

(余談)R Markdown→Slidev

スライドはSlidevというツールを使ってつくりました。 一夜漬けでやったのでぜんぜん使い方わからないんですが(特にWindi CSS周り)、いろいろカスタマイズできて便利そうでした。

Rチャンクまったく使ってないにもかかわらず、無駄にR MarkdownからMarkdownを生成してSlidevに食わせる、という感じでつくってみたので、興味ある方はソースコードを覗いてみてください。