Galaaz
Galaaz 2.0 drives GNU R from JRuby
over a process bridge. You write Ruby (R.c(...), dplyr-style
chains, ggplot2) and talk to the same R you use for CRAN and Bioconductor.
It is not the older GraalVM / TruffleRuby / FastR stack.
Install
You need JRuby (tested with 10.1.1.0), Java 21, GNU R with
Rscript, a C++ toolchain, and Rcpp
(install.packages("Rcpp")). MRI Ruby is not supported.
jruby -S gem install galaaz
gem_dir="$(jruby -e "puts Gem::Specification.find_by_name('galaaz').full_gem_path")"
make -C "${gem_dir}/ext/new_bridge" all
Full steps, WSL/Docker notes, and the contributor clone path are in the manual and the README. The gem is on RubyGems (changelog).
Try (Docker)
A public try image has JRuby, GNU R, and Galaaz already installed and
starts gstudio (IRB). Docker only; nothing to gem-install:
docker run --rm -it ghcr.io/rbotafogo/galaaz-try:gstudio
Then vec = R.c(1, 2, 3); puts vec. From a checkout you can
also build it locally with ./docker/try-gstudio/run.sh.
This is a demo shell, not the cold-install proof.
Maintainers can prove a RubyGems install in a throwaway Ubuntu container (no git repo inside):
./docker/cold-install/run.sh published-specs
Manual
Blogs
- Oh my… Galaaz · PDF
- gKnit · PDF
- ggplot with Galaaz · PDF
- NSE and dplyr · PDF
- Ruby plot · PDF
Repository
- Source on GitHub (branch
galaaz2_0) - galaaz on RubyGems
- Examples (source)
- Specs
- Example rendered PDFs on this site
Source and runnable examples ship in the gem; knitted HTML/PDF live here.
After install, use gstudio for an interactive shell.