Have you thought about simply spawning an inferior process and simply
pass R scripts into the process? This is basically what emacs does
with their ESS mode and it works wonderfully well. Depending on the
level of integration that you wanted to achieve between R and Ruby this
could work very well. I'm not sure how well suited the R system is to
be treated as a library, though I'll confess I haven't really looked
into it.
The "guts" of how to interface R with C, C++ and Fortran, and how to
build R as a shared library and call it from the "outside world" are
documented in the "Writing R Extensions" manual that comes with the
source (or the Windows installer). I took the course up at Fred
Hutchinson Cancer Research Center in January and we covered this in a
fair amount of detail. The sample code is on line at
If you want to do any of this magic on Windows, be prepared to download
a lot of tools and be prepared to put aside your creative urges and just
follow directions to the letter. 
I have never used "RSPerl"; I usually call R scripts from Perl via
system("R < script.R");
passing parameters as environment variables -- Perl exports them and R
imports them.
If one were to simply use an inferior process that you passed straight
R scripts into you could write a set of functions to translate between
Ruby and R speak (array notation, using <- instead of =, parsing
through the response from R to set a global hash of R variables, etc).
"=" works in R now as an assignment operator. I'm not sure when that
happened; I've gotten into the habit of "<-" and probably don't intend
to switch. 
I'd be willing to contribute and test stuff as I use R quite a bit for
data analysis. Its a very, very good language for doing mathematics,
statistics, and modelling that I don't want to redo in Ruby. Not that
I couldn't I just don't want to repeat the effort. The biggest problem
is R has a huge lack of string processing features that make setting up
model runs and generating reports that Ruby is quite good at.
R isn't as bad at "scripting" and "regular expression handling" as all
that. It ain't Perl and it ain't Ruby, and if you're at all an
object-oriented programmer, you'll find the way R does objects and
classes totally different from the "real world". Then again, so is the
way Perl does it -- Ruby is a lot more like a "real object-oriented
language."
Of course, when I first started using R, it really sucked at the
character handling, and I wrote a lot of Perl making "CSV" files for R
to handle. Nowadays I just load things into a database and let RODBC do
all the work. 
I'm sorta kinda looking at a project that would use *Rails* to manage
the database(s), shelling out to "R" for the analysis. I've got very
little lead time, though, so it might have to be just a refactoring of
the hundreds of lines of Perl and R I have now. And I don't have any
Ruby-aware cow-orkers ... that's a risk too.
···
gordon.j.miller@gmail.com wrote:
--
M. Edward (Ed) Borasky
http://linuxcapacityplanning.com