DasBetterR
Steven Schveighoffer
schveiguy at gmail.com
Fri Jun 30 02:03:24 UTC 2023
On 6/29/23 7:51 PM, bachmeier wrote:
> I've been using D and R together for a decade. I wrote [a blog post for
> the D
> Blog](https://dlang.org/blog/2020/01/27/d-for-data-science-calling-r-from-d/) on the eve of the pandemic. I released the [embedrv2 library](https://github.com/bachmeil/embedrv2) in late 2021. It's useful for writing D functions that are called from R, using D's metaprogramming to write the necessary bindings for you.
>
> My programs usually take the opposite approach, where D is the primary
> language, and I call into R to fill in missing functionality. I've
> accumulated a large collection of code snippets to enable all kinds of
> things. The problem is that they were scattered across many projects,
> there was no consistency across programs, documentation didn't exist,
> and they were more or less useless to anyone other than me.
>
> [This Github repo](https://github.com/bachmeil/betterr) includes D
> modules, tests demonstrating most of the functionality, documentation,
> and some posts about how I do specific things. I'm sharing publicly all
> the things I've been doing in case it has value to anyone else.
>
> Examples of functionality:
>
> - Creating, accessing, and mutating R data structures, including vector,
> matrix, data frame, list, array, and time series types. Reference
> counting handles memory management.
> - Basic statistical functionality like calculating the mean. Many of
> these functions use Mir for efficiency.
> - Linear algebra
> - Random number generation and sampling
> - Parallel random number generation
> - Numerical optimization: direct access to the C libraries used by R's
> optim function
> - Quadratic programming
> - Passing D functions to R without creating a shared library. For
> example, you can use a D function as the objective function you pass to
> constrOptim for constrained optimization problems.
>
> [Project website](https://bachmeil.github.io/betterr/)
This is very cool! I've never used R, but I have wanted to learn more
about such languages.
> There's more detail on the website, but I used the name "Better R"
> because the entirety of R is available inside your D program and you can
> use D to improve on it as much as you'd like. Feel free to hate the name.
Awfull, awfull name...
-Steve
More information about the Digitalmars-d-announce
mailing list