diff --git a/index.qmd b/index.qmd index ee75815..d0820ff 100644 --- a/index.qmd +++ b/index.qmd @@ -4,7 +4,9 @@ title: "" ::: {style="margin:0; width: 100%;"} ::: {style="margin:0; width: 81%; float: left;"} -## extendr - A safe and user friendly R extension interface using Rust + +## `extendr` - A safe and user-friendly R extension interface using Rust + ::: ::: {style="margin: 0.25rem 0 0 0; width: 19%; float: right;"} @@ -75,16 +77,16 @@ p$name() # "foo" is returned This, of course, is just the tip of the iceberg, for there are many ways to use extendr in R: -- In an interactive R session one may use [`rextendr::rust_function` and +- In an interactive R session one may use [`rextendr::rust_function` and friends](https://extendr.github.io/rextendr/reference/rust_source.html) to quickly prototype Rust code. -- In an R package context, one may use +- In an R package context, one may use [`rextendr::use_extendr()`](https://extendr.github.io/rextendr/reference/use_extendr.html) to setup a Rust powered R-package. See also the [vignette on R-packages](https://extendr.github.io/rextendr/articles/package.html). -- It is also possible to inline Rust code in `Quarto` documents, see +- It is also possible to inline Rust code in `Quarto` documents, see [vignette on extendr `knitr-engine`](https://extendr.github.io/rextendr/articles/rmarkdown.html). @@ -92,14 +94,14 @@ extendr in R: The software packages that make up extendr include: -- Rust crates: - - [`extendr-api`](https://extendr.github.io/extendr/extendr_api) - the - core Extendr crate providing all of the functionality; - - [`extendr-macros`](https://extendr.github.io/extendr/extendr_macros) - - Extendr crate responsbile for Rust wrapper generation; - - [`extendr-engine`](https://extendr.github.io/extendr/extendr_engine) - +- Rust crates: + - [`extendr-api`](https://extendr.github.io/extendr/extendr_api) - + provides the ergonomic, opinionated, and safe interface to R in Rust + - [`extendr-macros`](https://extendr.github.io/extendr/extendr_macros) - + crate responsible generation of wrappers, derive macros for conversion to R, etc. + - [`extendr-engine`](https://extendr.github.io/extendr/extendr_engine) - crate that enables launching R sessions from Rust code; -- An R package [`rextendr`](https://extendr.github.io/rextendr) that helps - scaffolding extendr-enabled packages or compiling Rust code dynamically; and -- [`libR-sys`](https://extendr.github.io/libR-sys/libR_sys) - provides - auto-generated R bindings for Rust. +- An R package [`rextendr`](https://extendr.github.io/rextendr) that helps + scaffolding extendr-enabled packages or compiling Rust code interactively; and +- [`libR-sys`](https://extendr.github.io/libR-sys/libR_sys) - provides + auto-generated bindings to R's C-facilities (or C-API) in Rust