- fix syntax used for
{.union.}
pragma in wrapped R types, old syntax not valid on modern Nim - fix up path logic for
dyn.load
in autogenerated R scripts. It now uses the path to the R script as the base directory for the shared library. This means the shared library must be in the same directory. Feel free to update the path as needed in the autogenerated R script by hand of course. - clarify raw vector test case and fix vector tests
- handle Nim procedures that return void when using
{.exportR.}
. This is done by rewriting to aSEXP
return type, returning theR_NilValue
and wrapping ininvisible
on the R side. - add
NumericVector
andRawVector
. These are two numerical vector types that allow access to R data arrays without copying the data. See the README for more on it.
- add
{.exportR.}
pragma, which takes care of attaching the correct pragmas to export to a shared library usable in R - automatically generate a wrapper for a Nim shared library that can be sourced in R
- fix accessing integer arrays from Nim, which makes interfacing of Nim from R finally workable for simple types.
callEval
now works correctly with strings as function names, e.g. to allow R functions with dots,data.frame
- add a
Rctx
macro, which can be used for more convenient R calls (see README)
- fix project structure to be nimble installable
- add changelog
- replace impl of
source
- first basic prototype supporting
- call R functions from Nim
- auto convert basic Nim types to R
SEXP
- allow conversion of
SEXP
back to Nim types usingto
- calling Nim from R is still broken (segfaults)