galaaz 0.5.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (378) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +46 -0
  3. data/LICENSE +0 -0
  4. data/README.md +1416 -667
  5. data/Rakefile +68 -41
  6. data/bin/galaaz-bootstrap +137 -0
  7. data/bin/galaaz-jruby +11 -0
  8. data/bin/galaaz-ruby +16 -0
  9. data/bin/galaaz_jruby_env.inc.sh +6 -0
  10. data/bin/galaaz_ruby_env.inc.sh +36 -0
  11. data/bin/gbookdown +63 -0
  12. data/bin/gknit +83 -13
  13. data/bin/gknit-draft.rb +0 -0
  14. data/bin/gstudio +5 -3
  15. data/bin/gstudio_irb.rb +0 -0
  16. data/bin/gstudio_pry.rb +0 -0
  17. data/bin/install-tinytex +6 -0
  18. data/bin/run_all_rspec +44 -0
  19. data/bin/run_example +17 -0
  20. data/bin/run_old_rspec +20 -0
  21. data/bin/run_rspec +24 -0
  22. data/bin/run_rspec_subset +38 -0
  23. data/bin/run_slow_rspec +20 -0
  24. data/blogs/R-on-Rails-Planning-Document.md +940 -0
  25. data/blogs/README.md +100 -0
  26. data/blogs/galaaz_ggplot/galaaz_ggplot.Rmd +38 -66
  27. data/blogs/galaaz_ggplot/galaaz_ggplot.log +754 -0
  28. data/blogs/galaaz_ggplot/galaaz_ggplot.md +115 -155
  29. data/blogs/galaaz_ggplot/galaaz_ggplot.tex +607 -0
  30. data/blogs/galaaz_ggplot/galaaz_ggplot_files/figure-gfm/midwest_rb.png +0 -0
  31. data/blogs/galaaz_ggplot/galaaz_ggplot_files/figure-gfm/scatter_plot_rb.png +0 -0
  32. data/blogs/galaaz_ggplot/galaaz_ggplot_files/figure-html/midwest_rb.png +0 -0
  33. data/blogs/galaaz_ggplot/galaaz_ggplot_files/figure-html/scatter_plot_rb.png +0 -0
  34. data/blogs/galaaz_ggplot/galaaz_ggplot_files/figure-markdown_github/midwest_rb.png +0 -0
  35. data/blogs/galaaz_ggplot/galaaz_ggplot_files/figure-markdown_github/scatter_plot_rb.png +0 -0
  36. data/blogs/galaaz_ggplot/midwest.Rmd +3 -3
  37. data/blogs/galaaz_ggplot/midwest_external_png +0 -0
  38. data/blogs/gknit/gknit.Rmd +47 -52
  39. data/blogs/gknit/gknit.md +1430 -0
  40. data/blogs/gknit/gknit_files/figure-gfm/bubble-1.png +0 -0
  41. data/blogs/gknit/gknit_files/figure-gfm/diverging_bar.png +0 -0
  42. data/blogs/gknit/gknit_files/figure-html/bubble-1.png +0 -0
  43. data/blogs/gknit/gknit_files/figure-html/diverging_bar.png +0 -0
  44. data/blogs/gknit/lst.rds +0 -0
  45. data/blogs/gknit/model.rb +1 -1
  46. data/blogs/gknit/stats.bib +0 -0
  47. data/blogs/manual/include_model_local_repro.Rmd +14 -0
  48. data/blogs/manual/include_model_local_repro.md +75 -0
  49. data/blogs/manual/lst.rds +0 -0
  50. data/blogs/manual/manual.Rmd +855 -239
  51. data/blogs/manual/manual.log +1786 -0
  52. data/blogs/manual/manual.md +1416 -667
  53. data/blogs/manual/manual.tex +1883 -1161
  54. data/blogs/manual/manual_files/figure-html/bubble-1.png +0 -0
  55. data/blogs/manual/manual_files/figure-html/diverging_bar.png +0 -0
  56. data/blogs/manual/manual_files/figure-latex/bubble-1.png +0 -0
  57. data/blogs/manual/model.rb +1 -1
  58. data/blogs/nse_dplyr/nse_dplyr.Rmd +84 -111
  59. data/blogs/nse_dplyr/nse_dplyr.log +928 -0
  60. data/blogs/nse_dplyr/nse_dplyr.md +198 -229
  61. data/blogs/oh_my/not_so.rb +0 -0
  62. data/blogs/oh_my/oh_my.Rmd +1234 -25
  63. data/blogs/oh_my/oh_my.log +804 -0
  64. data/blogs/oh_my/oh_my.md +1663 -86
  65. data/blogs/oh_my/oh_my.tex +821 -0
  66. data/blogs/oh_my/old.Rmd +15 -14
  67. data/blogs/ruby_plot/ruby_plot.Rmd +58 -82
  68. data/blogs/ruby_plot/ruby_plot.log +885 -0
  69. data/blogs/ruby_plot/ruby_plot.md +71 -102
  70. data/blogs/ruby_plot/ruby_plot.tex +940 -0
  71. data/blogs/ruby_plot/ruby_plot_files/figure-gfm/dose_len.png +0 -0
  72. data/blogs/ruby_plot/ruby_plot_files/figure-gfm/facet_by_delivery.png +0 -0
  73. data/blogs/ruby_plot/ruby_plot_files/figure-gfm/facet_by_dose.png +0 -0
  74. data/blogs/ruby_plot/ruby_plot_files/figure-gfm/facets_by_delivery_color.png +0 -0
  75. data/blogs/ruby_plot/ruby_plot_files/figure-gfm/facets_by_delivery_color2.png +0 -0
  76. data/blogs/ruby_plot/ruby_plot_files/figure-gfm/facets_with_decorations.png +0 -0
  77. data/blogs/ruby_plot/ruby_plot_files/figure-gfm/facets_with_jitter.png +0 -0
  78. data/blogs/ruby_plot/ruby_plot_files/figure-gfm/facets_with_points.png +0 -0
  79. data/blogs/ruby_plot/ruby_plot_files/figure-gfm/final_box_plot.png +0 -0
  80. data/blogs/ruby_plot/ruby_plot_files/figure-gfm/final_violin_plot.png +0 -0
  81. data/blogs/ruby_plot/ruby_plot_files/figure-gfm/violin_with_jitter.png +0 -0
  82. data/blogs/ruby_plot/ruby_plot_files/figure-html/dose_len.png +0 -0
  83. data/blogs/ruby_plot/ruby_plot_files/figure-html/facet_by_delivery.png +0 -0
  84. data/blogs/ruby_plot/ruby_plot_files/figure-html/facet_by_dose.png +0 -0
  85. data/blogs/ruby_plot/ruby_plot_files/figure-html/facets_by_delivery_color.png +0 -0
  86. data/blogs/ruby_plot/ruby_plot_files/figure-html/facets_by_delivery_color2.png +0 -0
  87. data/blogs/ruby_plot/ruby_plot_files/figure-html/facets_with_decorations.png +0 -0
  88. data/blogs/ruby_plot/ruby_plot_files/figure-html/facets_with_jitter.png +0 -0
  89. data/blogs/ruby_plot/ruby_plot_files/figure-html/facets_with_points.png +0 -0
  90. data/blogs/ruby_plot/ruby_plot_files/figure-html/final_box_plot.png +0 -0
  91. data/blogs/ruby_plot/ruby_plot_files/figure-html/final_violin_plot.png +0 -0
  92. data/blogs/ruby_plot/ruby_plot_files/figure-html/violin_with_jitter.png +0 -0
  93. data/blogs/ruby_plot/ruby_plot_files/figure-latex/dose_len.png +0 -0
  94. data/blogs/ruby_plot/ruby_plot_files/figure-latex/facet_by_delivery.png +0 -0
  95. data/blogs/ruby_plot/ruby_plot_files/figure-latex/facet_by_dose.png +0 -0
  96. data/blogs/ruby_plot/ruby_plot_files/figure-latex/facets_by_delivery_color.png +0 -0
  97. data/blogs/ruby_plot/ruby_plot_files/figure-latex/facets_by_delivery_color2.png +0 -0
  98. data/blogs/ruby_plot/ruby_plot_files/figure-latex/facets_with_decorations.png +0 -0
  99. data/blogs/ruby_plot/ruby_plot_files/figure-latex/facets_with_jitter.png +0 -0
  100. data/blogs/ruby_plot/ruby_plot_files/figure-latex/facets_with_points.png +0 -0
  101. data/blogs/ruby_plot/ruby_plot_files/figure-latex/final_box_plot.png +0 -0
  102. data/blogs/ruby_plot/ruby_plot_files/figure-latex/final_violin_plot.png +0 -0
  103. data/blogs/ruby_plot/ruby_plot_files/figure-latex/violin_with_jitter.png +0 -0
  104. data/blogs/test/test.Rmd +14 -0
  105. data/blogs/test/test.md +10 -0
  106. data/examples/50Plots_MasterList/Images/midwest-scatterplot.PNG +0 -0
  107. data/examples/50Plots_MasterList/ScatterPlot.rb +2 -1
  108. data/examples/50Plots_MasterList/scatter_plot.rb +1 -0
  109. data/examples/Bibliography/master.bib +0 -0
  110. data/examples/Bibliography/stats.bib +0 -0
  111. data/examples/R/calc.R +0 -0
  112. data/examples/R/java_interop.R +0 -0
  113. data/examples/bioconductor_deseq2_airway/Documentation/DESeq2-airway-walkthrough.md +56 -0
  114. data/examples/bioconductor_deseq2_airway/bench_galaaz_three_same_process.rb +54 -0
  115. data/examples/bioconductor_deseq2_airway/bench_r_three_same_process.R +34 -0
  116. data/examples/bioconductor_deseq2_airway/deseq2_airway_galaaz.rb +34 -0
  117. data/examples/bioconductor_deseq2_airway/deseq2_airway_galaaz_optimized.rb +35 -0
  118. data/examples/bioconductor_deseq2_airway/deseq2_airway_minimal.R +30 -0
  119. data/examples/bioconductor_deseq2_airway/deseq2_airway_pipeline_for_bench.R +36 -0
  120. data/examples/islr/all.rb +14 -0
  121. data/examples/islr/ch2.spec.rb +38 -7
  122. data/examples/islr/ch3.spec.rb +12 -2
  123. data/examples/islr/ch3_boston.rb +28 -0
  124. data/examples/islr/ch3_multiple_regression.rb +1 -0
  125. data/examples/islr/ch6.spec.rb +25 -1
  126. data/examples/islr/x_y_rnorm.jpg +0 -0
  127. data/examples/latex_templates/Test-acm_article/acm_proc_article-sp.cls +0 -0
  128. data/examples/latex_templates/Test-acm_article/sigproc.bib +0 -0
  129. data/examples/latex_templates/Test-acs_article/acs-Test-acs_article.bib +0 -0
  130. data/examples/latex_templates/Test-acs_article/acs-my_output.bib +0 -0
  131. data/examples/latex_templates/Test-aea_article/BibFile.bib +0 -0
  132. data/examples/latex_templates/Test-aea_article/Test-aea_article.Rmd +0 -0
  133. data/examples/latex_templates/Test-aea_article/references.bib +0 -0
  134. data/examples/latex_templates/Test-amq_article/Test-amq_article.Rmd +0 -0
  135. data/examples/latex_templates/Test-amq_article/Test-amq_article.pdfsync +0 -0
  136. data/examples/latex_templates/Test-ieee_article/IEEEtran.bst +0 -0
  137. data/examples/latex_templates/Test-ieee_article/mybibfile.bib +0 -0
  138. data/examples/latex_templates/Test-rjournal_article/RJournal.sty +0 -0
  139. data/examples/latex_templates/Test-rjournal_article/RJreferences.bib +0 -0
  140. data/examples/latex_templates/Test-rjournal_article/Test-rjournal_article.Rmd +0 -0
  141. data/examples/misc/baseball.csv +0 -0
  142. data/examples/misc/ggplot.rb +5 -3
  143. data/examples/misc/moneyball.rb +1 -0
  144. data/examples/misc/subsetting.rb +1 -0
  145. data/examples/multithread_shards_to_r/shards_to_r.rb +68 -0
  146. data/examples/rmarkdown/svm-rmarkdown-anon-ms-example/svm-rmarkdown-anon-ms-example.Rmd +0 -0
  147. data/examples/rmarkdown/svm-rmarkdown-article-example/svm-rmarkdown-article-example.Rmd +0 -0
  148. data/examples/rmarkdown/svm-rmarkdown-beamer-example/svm-rmarkdown-beamer-example.Rmd +0 -0
  149. data/examples/rmarkdown/svm-rmarkdown-cv/svm-rmarkdown-cv.Rmd +0 -0
  150. data/examples/rmarkdown/svm-rmarkdown-syllabus-example/attend-grade-relationships.csv +0 -0
  151. data/examples/rmarkdown/svm-rmarkdown-syllabus-example/svm-rmarkdown-syllabus-example.Rmd +0 -0
  152. data/examples/rmarkdown/svm-xaringan-example/svm-xaringan-example.Rmd +0 -0
  153. data/examples/sthda_ggplot/README.md +0 -0
  154. data/examples/sthda_ggplot/RUN.md +41 -0
  155. data/examples/sthda_ggplot/all.rb +1 -0
  156. data/examples/sthda_ggplot/one_variable_continuous/density_gg.rb +1 -0
  157. data/examples/sthda_ggplot/one_variable_continuous/geom_area.rb +1 -0
  158. data/examples/sthda_ggplot/one_variable_continuous/geom_density.rb +3 -0
  159. data/examples/sthda_ggplot/one_variable_continuous/geom_dotplot.rb +1 -0
  160. data/examples/sthda_ggplot/one_variable_continuous/geom_freqpoly.rb +1 -0
  161. data/examples/sthda_ggplot/one_variable_continuous/geom_histogram.rb +1 -0
  162. data/examples/sthda_ggplot/one_variable_continuous/histogram_density.rb +1 -0
  163. data/examples/sthda_ggplot/one_variable_continuous/stat.rb +1 -0
  164. data/examples/sthda_ggplot/one_variable_discrete/bar.rb +1 -0
  165. data/examples/sthda_ggplot/qplots/box_violin_dot.rb +1 -0
  166. data/examples/sthda_ggplot/qplots/scatter_plots.rb +1 -0
  167. data/examples/sthda_ggplot/scatter_gg.rb +1 -0
  168. data/examples/sthda_ggplot/two_variables_cont_bivariate/geom_bin2d.rb +1 -0
  169. data/examples/sthda_ggplot/two_variables_cont_bivariate/geom_density2d.rb +1 -0
  170. data/examples/sthda_ggplot/two_variables_cont_bivariate/geom_hex.rb +1 -0
  171. data/examples/sthda_ggplot/two_variables_cont_cont/geom_point.rb +1 -0
  172. data/examples/sthda_ggplot/two_variables_cont_cont/geom_smooth.rb +1 -0
  173. data/examples/sthda_ggplot/two_variables_cont_cont/misc.rb +1 -0
  174. data/examples/sthda_ggplot/two_variables_cont_function/geom_area.rb +5 -3
  175. data/examples/sthda_ggplot/two_variables_disc_cont/geom_bar.rb +1 -0
  176. data/examples/sthda_ggplot/two_variables_disc_cont/geom_boxplot.rb +1 -0
  177. data/examples/sthda_ggplot/two_variables_disc_cont/geom_dotplot.rb +1 -0
  178. data/examples/sthda_ggplot/two_variables_disc_cont/geom_jitter.rb +1 -0
  179. data/examples/sthda_ggplot/two_variables_disc_cont/geom_line.rb +1 -0
  180. data/examples/sthda_ggplot/two_variables_disc_cont/geom_violin.rb +1 -0
  181. data/examples/sthda_ggplot/two_variables_disc_disc/geom_jitter.rb +1 -0
  182. data/examples/sthda_ggplot/two_variables_error/geom_crossbar.rb +1 -0
  183. data/ext/new_bridge/Makefile +46 -0
  184. data/ext/new_bridge/galaaz_gatekeeper_phase0.cpp +12 -0
  185. data/ext/new_bridge/galaaz_gatekeeper_phase1.cpp +1639 -0
  186. data/lib/R_interface/galaaz_device.R +20 -0
  187. data/lib/R_interface/include_engine.R +109 -0
  188. data/lib/R_interface/new_bridge_adapter.rb +824 -0
  189. data/lib/R_interface/r.rb +177 -25
  190. data/lib/R_interface/r_arrow.rb +113 -0
  191. data/lib/R_interface/r_libs.R +3 -3
  192. data/lib/R_interface/r_methods.rb +13 -126
  193. data/lib/R_interface/r_module_s.rb +0 -0
  194. data/lib/R_interface/rbinary_operators.rb +20 -2
  195. data/lib/R_interface/rclosure.rb +5 -1
  196. data/lib/R_interface/rdata_frame.rb +34 -70
  197. data/lib/R_interface/rdevice.rb +125 -0
  198. data/lib/R_interface/rdevices.R +0 -0
  199. data/lib/R_interface/renvironment.rb +10 -4
  200. data/lib/R_interface/rexpression.rb +5 -1
  201. data/lib/R_interface/rindexed_object.rb +41 -13
  202. data/lib/R_interface/rlanguage.rb +20 -62
  203. data/lib/R_interface/rlist.rb +115 -25
  204. data/lib/R_interface/rlogical_operators.rb +0 -0
  205. data/lib/R_interface/rmatrix.rb +2 -11
  206. data/lib/R_interface/rmd_indexed_object.rb +5 -1
  207. data/lib/R_interface/robject.rb +348 -290
  208. data/lib/R_interface/rpkg.rb +0 -0
  209. data/lib/R_interface/rsupport.rb +609 -328
  210. data/lib/R_interface/rsupport_scope.rb +2 -1
  211. data/lib/R_interface/rsymbol.rb +50 -0
  212. data/lib/R_interface/ruby_callback.rb +2 -3
  213. data/lib/R_interface/ruby_extensions.rb +225 -175
  214. data/lib/R_interface/runary_operators.rb +0 -0
  215. data/lib/R_interface/rvector.rb +162 -31
  216. data/lib/galaaz.rb +0 -0
  217. data/lib/galaaz_jruby.rb +22 -0
  218. data/lib/galaaz_ruby.rb +34 -0
  219. data/lib/gknit/diagnostics.rb +50 -0
  220. data/lib/gknit/draft.rb +23 -17
  221. data/lib/gknit/include_engine.rb +15 -7
  222. data/lib/gknit/knitr_engine.rb +223 -74
  223. data/lib/gknit/rb_engine.rb +3 -3
  224. data/lib/gknit/ruby_engine.rb +0 -0
  225. data/lib/gknit.rb +1 -0
  226. data/lib/new_bridge/bootstrap/windows_bootstrap.rb +285 -0
  227. data/lib/new_bridge/envelope.rb +51 -0
  228. data/lib/new_bridge/eval_result.rb +26 -0
  229. data/lib/new_bridge/framing.rb +39 -0
  230. data/lib/new_bridge/instance_pool_client.rb +38 -0
  231. data/lib/new_bridge/r_instance_manager.rb +404 -0
  232. data/lib/new_bridge/session_client.rb +530 -0
  233. data/lib/new_bridge/tcp_framed.rb +44 -0
  234. data/lib/new_bridge.rb +9 -0
  235. data/lib/util/exec_ruby.rb +95 -20
  236. data/lib/util/inline_file.rb +35 -30
  237. data/new_bridge_specs/benchmark_phase5_5_unboxing_spec.rb +96 -0
  238. data/new_bridge_specs/eval_r_async_spec.rb +113 -0
  239. data/new_bridge_specs/integration_phase5_1_concurrent_spec.rb +50 -0
  240. data/new_bridge_specs/integration_phase5_1_eval_spec.rb +16 -0
  241. data/new_bridge_specs/integration_phase5_1_r_api_spec.rb +25 -0
  242. data/new_bridge_specs/integration_phase5_1_smoke_spec.rb +31 -0
  243. data/new_bridge_specs/integration_phase5_2_dataframe_unboxing_spec.rb +19 -0
  244. data/new_bridge_specs/integration_phase5_2_handle_eval_unboxing_spec.rb +25 -0
  245. data/new_bridge_specs/integration_phase5_3_callback_args_spec.rb +28 -0
  246. data/new_bridge_specs/integration_phase5_3_callback_error_spec.rb +22 -0
  247. data/new_bridge_specs/integration_phase5_3_callback_timeout_spec.rb +28 -0
  248. data/new_bridge_specs/integration_phase5_3_callbacks_smoke_spec.rb +22 -0
  249. data/new_bridge_specs/integration_phase5_3_edge_cases_spec.rb +52 -0
  250. data/new_bridge_specs/integration_phase5_3_nested_spec.rb +30 -0
  251. data/new_bridge_specs/integration_phase5_4_concurrent_sessions_spec.rb +53 -0
  252. data/new_bridge_specs/integration_phase5_4_nested_session_callbacks_spec.rb +49 -0
  253. data/new_bridge_specs/integration_phase5_4_session_routing_spec.rb +38 -0
  254. data/new_bridge_specs/integration_phase5_5_stress_concurrency_spec.rb +52 -0
  255. data/new_bridge_specs/integration_phase5_5_unbox_walk_spec.rb +46 -0
  256. data/new_bridge_specs/phase0_protocol_spec.rb +96 -0
  257. data/new_bridge_specs/phase1_req_ret_spec.rb +66 -0
  258. data/new_bridge_specs/phase2_multi_instance_spec.rb +67 -0
  259. data/new_bridge_specs/phase3_callbacks_spec.rb +71 -0
  260. data/new_bridge_specs/phase4_2_hardening_spec.rb +252 -0
  261. data/new_bridge_specs/phase4_3_r_instance_manager_spec.rb +85 -0
  262. data/new_bridge_specs/phase4_nested_callbacks_spec.rb +123 -0
  263. data/r_requires/ggplot.rb +0 -0
  264. data/r_requires/knitr.rb +0 -0
  265. data/specs/all.rb +15 -11
  266. data/specs/arrow_from_ruby_batches_spec.rb +50 -0
  267. data/specs/arrow_semantics_spec.rb +64 -0
  268. data/specs/bridge_concurrent_spec.rb +46 -0
  269. data/specs/bridge_nested_spec.rb +25 -0
  270. data/specs/dataframe_semantics_spec.rb +122 -0
  271. data/specs/dataframe_single_index_logical_filter_spec.rb +21 -0
  272. data/specs/dispatch_probe_cache_spec.rb +38 -0
  273. data/specs/dispatch_probe_error_class_fallback_spec.rb +20 -0
  274. data/specs/dispatch_probe_fallback_spec.rb +18 -0
  275. data/specs/environment_semantics_spec.rb +89 -0
  276. data/specs/field_access_spec.rb +31 -0
  277. data/specs/figures/bg.jpeg +0 -0
  278. data/specs/figures/bg.png +0 -0
  279. data/specs/figures/bg.svg +168 -57
  280. data/specs/figures/dose_len.png +0 -0
  281. data/specs/figures/no_args.jpeg +0 -0
  282. data/specs/figures/no_args.png +0 -0
  283. data/specs/figures/no_args.svg +168 -57
  284. data/specs/figures/width_height.jpeg +0 -0
  285. data/specs/figures/width_height.png +0 -0
  286. data/specs/figures/width_height_units1.jpeg +0 -0
  287. data/specs/figures/width_height_units1.png +0 -0
  288. data/specs/figures/width_height_units2.jpeg +0 -0
  289. data/specs/figures/width_height_units2.png +0 -0
  290. data/specs/formula_semantics_spec.rb +81 -0
  291. data/specs/galaaz_util_exec_ruby_spec.rb +85 -0
  292. data/specs/galaaz_util_inline_file_spec.rb +54 -0
  293. data/specs/gknit_cli_option_permutation_spec.rb +24 -0
  294. data/specs/gknit_include_engine_spec.rb +72 -0
  295. data/specs/gknit_install_timeout_report_spec.rb +69 -0
  296. data/specs/gknit_internal_error_report_spec.rb +57 -0
  297. data/specs/gknit_vector_map_output_spec.rb +59 -0
  298. data/specs/globalenv_guardrail_spec.rb +52 -0
  299. data/specs/language_expression_semantics_spec.rb +145 -0
  300. data/specs/list_semantics_spec.rb +111 -0
  301. data/specs/new_bridge_bulk_dataframe_transfer_spec.rb +44 -0
  302. data/specs/new_bridge_bulk_vector_transfer_spec.rb +73 -0
  303. data/specs/new_bridge_callback_timeout_spec.rb +69 -0
  304. data/specs/new_bridge_eval_r_fallback_spec.rb +55 -0
  305. data/specs/nil_null_spec.rb +42 -0
  306. data/specs/object_build_phase2_spec.rb +53 -0
  307. data/specs/phase1_callback_bridge_spec.rb +84 -0
  308. data/specs/phase2_gknit_generic_rendering_guardrail_spec.rb +46 -0
  309. data/specs/phase2_gknit_no_raw_code_leakage_spec.rb +43 -0
  310. data/specs/phase3_gknit_generic_graphics_capture_spec.rb +71 -0
  311. data/specs/plot_device_semantics_spec.rb +28 -0
  312. data/specs/plot_snapshot_semantics_spec.rb +58 -0
  313. data/specs/protocol_result_spec.rb +236 -0
  314. data/specs/r_batch_fail_fast_spec.rb +47 -0
  315. data/specs/r_bridge_bootstrap_spec.rb +11 -0
  316. data/specs/r_devices.spec.rb +1 -1
  317. data/specs/r_eval.spec.rb +16 -18
  318. data/specs/r_function.spec.rb +1 -1
  319. data/specs/r_instance_manager_spec.rb +285 -0
  320. data/specs/r_list_apply.spec.rb +15 -15
  321. data/specs/r_matrix.spec.rb +0 -0
  322. data/specs/r_nse.spec.rb +5 -5
  323. data/specs/r_object_send_dispatch_spec.rb +13 -0
  324. data/specs/r_vector_comparator_spec.rb +8 -0
  325. data/specs/r_vector_creation.spec.rb +0 -0
  326. data/specs/r_vector_functions.spec.rb +0 -0
  327. data/specs/r_vector_object.spec.rb +0 -0
  328. data/specs/r_vector_operators.spec.rb +0 -0
  329. data/specs/r_vector_structured_scalar_reads_spec.rb +35 -0
  330. data/specs/r_vector_subsetting.spec.rb +0 -0
  331. data/specs/range_helper_spec.rb +21 -0
  332. data/specs/rsupport_scope_spec.rb +28 -0
  333. data/specs/rsupport_var_name_thread_safety_spec.rb +24 -0
  334. data/specs/scalar_character_spec.rb +44 -0
  335. data/specs/scoped_symbol_dsl_refinement_spec.rb +40 -0
  336. data/specs/session_env_bridge_spec.rb +25 -0
  337. data/specs/simplecov_bootstrap_spec.rb +10 -0
  338. data/specs/spec_helper.rb +10 -0
  339. data/specs/tmp.rb +0 -0
  340. data/specs/unboxing_recursion_regression_spec.rb +30 -0
  341. data/specs/unboxing_spec.rb +49 -0
  342. data/specs/verify_callbacks.rb +42 -0
  343. data/sty/galaaz.sty +0 -0
  344. data/version.rb +1 -1
  345. metadata +219 -63
  346. data/blogs/galaaz_ggplot/galaaz_ggplot.html +0 -520
  347. data/blogs/galaaz_ggplot/galaaz_ggplot.pdf +0 -0
  348. data/blogs/galaaz_ggplot/midwest.html +0 -188
  349. data/blogs/gknit/gknit.html +0 -2266
  350. data/blogs/gknit/gknit.pdf +0 -0
  351. data/blogs/manual/manual.html +0 -4638
  352. data/blogs/manual/manual.pdf +0 -0
  353. data/blogs/manual/manual_files/figure-latex/diverging_bar.pdf +0 -0
  354. data/blogs/nse_dplyr/nse_dplyr.html +0 -878
  355. data/blogs/nse_dplyr/nse_dplyr.pdf +0 -0
  356. data/blogs/oh_my/oh_my.html +0 -568
  357. data/blogs/ruby_plot/ruby_plot.html +0 -544
  358. data/blogs/ruby_plot/ruby_plot.pdf +0 -0
  359. data/examples/latex_templates/Test-acs_article/Test-acs_article.pdf +0 -0
  360. data/examples/latex_templates/Test-aea_article/Test-aea_article.pdf +0 -0
  361. data/examples/latex_templates/Test-amq_article/Test-amq_article.pdf +0 -0
  362. data/examples/latex_templates/Test-amq_article/pics/Figure2.pdf +0 -0
  363. data/examples/latex_templates/Test-asa_article/Test-asa_article.pdf +0 -0
  364. data/examples/latex_templates/Test-ieee_article/Test-ieee_article.pdf +0 -0
  365. data/examples/latex_templates/Test-rjournal_article/RJwrapper.pdf +0 -0
  366. data/examples/latex_templates/Test-springer_article/Test-springer_article.pdf +0 -0
  367. data/examples/rmarkdown/svm-rmarkdown-anon-ms-example/svm-rmarkdown-anon-ms-example.pdf +0 -0
  368. data/examples/rmarkdown/svm-rmarkdown-article-example/svm-rmarkdown-article-example.pdf +0 -0
  369. data/examples/rmarkdown/svm-rmarkdown-beamer-example/svm-rmarkdown-beamer-example.pdf +0 -0
  370. data/examples/rmarkdown/svm-rmarkdown-cv/svm-rmarkdown-cv.pdf +0 -0
  371. data/examples/rmarkdown/svm-rmarkdown-syllabus-example/svm-rmarkdown-syllabus-example.pdf +0 -0
  372. data/specs/r_dataframe.spec.rb +0 -379
  373. data/specs/r_environment.spec.rb +0 -140
  374. data/specs/r_formula.spec.rb +0 -232
  375. data/specs/r_language.spec.rb +0 -112
  376. data/specs/r_list.spec.rb +0 -293
  377. data/specs/r_plots.spec.rb +0 -72
  378. data/specs/ruby_expression.spec.rb +0 -316
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'galaaz'
4
+ require 'tmpdir'
5
+
6
+ describe 'Unboxing recursion regression' do
7
+ it 'unboxes Arrow/dplyr collected scalar views without stack overflow' do
8
+ ok = R::Support.eval("requireNamespace('arrow', quietly=TRUE) && requireNamespace('dplyr', quietly=TRUE)")
9
+ skip 'arrow/dplyr not available' unless ok == true
10
+
11
+ path = File.join(Dir.tmpdir, 'galaaz_unboxing_recursion.parquet')
12
+ df = R.data__frame(group: R.c('a', 'a', 'b', 'b'), value: R.c(1, 2, 3, 4))
13
+ R::Arrow.write_parquet(df, path)
14
+
15
+ ds = R::Arrow.dataset(path)
16
+ grouped = R.dplyr___group_by(ds, :group)
17
+ summarised = R.dplyr___summarise(grouped, total: E.sum(:value))
18
+ collected = R.dplyr___collect(summarised)
19
+
20
+ # These are scalar views represented as one-column data.frame handles in this path.
21
+ total_cell = collected[[1, 'total']]
22
+ group_cell = collected[[1, 'group']]
23
+ expect(total_cell).to be_a(R::DataFrame)
24
+ expect(group_cell).to be_a(R::DataFrame)
25
+
26
+ # Regression target: this used to recurse until stack overflow.
27
+ expect(total_cell >> 0).to eq 3
28
+ expect(group_cell >> 0).to eq 'a'
29
+ end
30
+ end
@@ -0,0 +1,49 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Specs for unboxing semantics: recurse until only Ruby values; single list → [x];
3
+ # depth limit raises UnboxDepthError. Run with: bin/run_rspec specs/unboxing_spec.rb
4
+
5
+ require 'galaaz'
6
+
7
+ describe "Unboxing (>> nil / to_ruby / unboxed_get(nil))" do
8
+
9
+ context "single scalar (length-1 vector)" do
10
+ it "unboxes to Ruby scalar" do
11
+ expect(R.c(42) >> nil).to eq 42
12
+ expect(R.c(3.14) >> nil).to eq 3.14
13
+ expect(R.c(true) >> nil).to eq true
14
+ expect(R.c("hello") >> nil).to eq "hello"
15
+ end
16
+ end
17
+
18
+ context "single list (list of one element)" do
19
+ it "unboxes to Array with one element" do
20
+ lst = R.list(42)
21
+ expect(lst >> nil).to eq [42]
22
+ end
23
+
24
+ it "unboxes single list with vector to [array]" do
25
+ lst = R.list(R.c(1, 2, 3))
26
+ expect(lst >> nil).to eq [[1, 2, 3]]
27
+ end
28
+ end
29
+
30
+ context "nested list" do
31
+ it "unboxes to nested Ruby arrays" do
32
+ lst = R.list(R.list(1, 2), R.list(3, 4))
33
+ expect(lst >> nil).to eq [[1, 2], [3, 4]]
34
+ end
35
+
36
+ it "unboxes list of list of scalar" do
37
+ lst = R.list(R.list(10))
38
+ expect(lst >> nil).to eq [[10]]
39
+ end
40
+ end
41
+
42
+ context "list too deep" do
43
+ it "raises R::UnboxDepthError when depth exceeds MAX_UNBOX_DEPTH" do
44
+ deep = R.list(1)
45
+ (R::Support::MAX_UNBOX_DEPTH - 1).times { deep = R.list(deep) }
46
+ expect { deep >> nil }.to raise_error(R::UnboxDepthError, /list too deep/)
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,42 @@
1
+
2
+ $LOAD_PATH.unshift File.expand_path('../lib', __FILE__)
3
+ require 'galaaz'
4
+
5
+ puts "Testing Galaaz 2.0 Callbacks..."
6
+
7
+ # Define a Ruby callback
8
+ my_ruby_proc = Proc.new do
9
+ puts "JRuby: Callback reached!"
10
+ 42.0
11
+ end
12
+
13
+ # In R, we'll use 'lapply' or a simple call to trigger the callback
14
+ # parse_arg will wrap my_ruby_proc in an R function
15
+ begin
16
+ # A better way: define a helper in R that calls its argument
17
+ puts "Defining R helper function 'call_me'..."
18
+ R.bridge.eval_r("call_me <- function(f) { f() }")
19
+
20
+ puts "Calling R 'call_me' with Ruby Proc..."
21
+ # R.call_me will trigger method_missing -> process_missing -> exec_function
22
+ # which will then call call_me(wrapper_function)
23
+ result = R.call_me(my_ruby_proc)
24
+
25
+ puts "Handle from R: #{result.r_interop}"
26
+ puts "String representation from R: #{result.to_s}"
27
+
28
+ unboxed = result >> nil
29
+ puts "Unboxed result from R: #{unboxed.inspect}"
30
+
31
+ if unboxed == 42.0 || unboxed == 42
32
+ puts "SUCCESS: Callback worked!"
33
+ else
34
+ puts "FAILURE: Unexpected unboxed result: #{unboxed.inspect}"
35
+ end
36
+
37
+ rescue => e
38
+ puts "Error during callback test: #{e.message}"
39
+ puts e.backtrace.join("\n")
40
+ ensure
41
+ R.bridge.close
42
+ end
data/sty/galaaz.sty CHANGED
File without changes
data/version.rb CHANGED
@@ -1,2 +1,2 @@
1
1
  $gem_name = "galaaz"
2
- $version="0.5.0"
2
+ $version="2.1.0"
metadata CHANGED
@@ -1,24 +1,38 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: galaaz
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rodrigo Botafogo
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-06-06 00:00:00.000000000 Z
11
+ date: 2026-09-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: rspec
14
+ name: msgpack
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.0'
20
+ type: :runtime
15
21
  prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rspec
16
29
  requirement: !ruby/object:Gem::Requirement
17
30
  requirements:
18
31
  - - "~>"
19
32
  - !ruby/object:Gem::Version
20
33
  version: '3.8'
21
34
  type: :development
35
+ prerelease: false
22
36
  version_requirements: !ruby/object:Gem::Requirement
23
37
  requirements:
24
38
  - - "~>"
@@ -26,13 +40,13 @@ dependencies:
26
40
  version: '3.8'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: simplecov
29
- prerelease: false
30
43
  requirement: !ruby/object:Gem::Requirement
31
44
  requirements:
32
45
  - - "~>"
33
46
  - !ruby/object:Gem::Version
34
47
  version: '0.16'
35
48
  type: :development
49
+ prerelease: false
36
50
  version_requirements: !ruby/object:Gem::Requirement
37
51
  requirements:
38
52
  - - "~>"
@@ -40,46 +54,58 @@ dependencies:
40
54
  version: '0.16'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: rdoc
43
- prerelease: false
44
57
  requirement: !ruby/object:Gem::Requirement
45
58
  requirements:
46
- - - "~>"
59
+ - - ">="
47
60
  - !ruby/object:Gem::Version
48
- version: '5.0'
61
+ version: 6.1.2.1
49
62
  type: :development
63
+ prerelease: false
50
64
  version_requirements: !ruby/object:Gem::Requirement
51
65
  requirements:
52
- - - "~>"
66
+ - - ">="
53
67
  - !ruby/object:Gem::Version
54
- version: '5.0'
55
- description: "Galaaz brings the power of R to the Ruby community. Galaaz \nis based
56
- on TruffleRuby and FastR, GraalVM-based interpreters for Ruby and the R language
57
- \nfor statistical computing respectively.\n\nOver the past two decades, the R language
58
- for statistical computing has emerged as the de \nfacto standard for analysts, statisticians,
59
- and scientists. Today, a wide range of \nenterprises – from pharmaceuticals to insurance
60
- – depend on R for key business uses. FastR \nis a new implementation of the R language
61
- and environment for the Graal Virtual Machine.\n\nGalaaz tightly couples Ruby and
62
- R and allows the use of R inside a Ruby script. In a sense, \nGalaaz is similar
63
- to other solutions such as RinRuby, Rpy2, PipeR, and reticulate \n(https://blog.rstudio.com/2018/03/26/reticulate-r-interface-to-python/).
64
- However, since \nGalaaz couples TruffleRuby and FastR that both target the JVM there
65
- is no need to integrate \nboth solutions and there is no need to send data between
66
- Ruby and R, as it all resides in \nthe same VM. \n\nFurther, installation of Galaaz
67
- does not require the installation of GNU R. When installing\nGraalVM, just install
68
- TruffleRuby and FastR.\n"
68
+ version: 6.1.2.1
69
+ description: |
70
+ Galaaz is R-on-Rails: R scientists keep GNU R (CRAN / Bioconductor) for statistics and
71
+ graphics, and use Ruby—often Rails—to put that work on the web (HTTP, auth, jobs, HTML)
72
+ without rewriting analyses in another stack. Ruby developers also get full access to R
73
+ libraries through the same bridge.
74
+
75
+ Galaaz 2.0 talks to standard GNU R in a separate process. A bridge handles requests,
76
+ results, and typing so you can drive R from Ruby (calling R functions, loading packages,
77
+ and working with R objects). **JRuby** and **CRuby** are both supported for the same
78
+ NewBridge protocol (tested with JRuby 10.1.1.0 + Java 21, and CRuby 3.3).
79
+
80
+ Like RinRuby, rpy2, or reticulate, Galaaz is a cross-language bridge; unlike embedding a
81
+ second interpreter in one VM, using GNU R means compiled R packages and Bioconductor work
82
+ as usual. Large tables can optionally flow through Apache Arrow on the R side when you use
83
+ the helpers described in the project documentation.
84
+
85
+ You need JRuby or CRuby and a working GNU R installation in PATH for the bridge to run.
86
+ Build the native gatekeeper after install with: make -C ext/new_bridge all
69
87
  email: rodrigo.a.botafogo@gmail.com
70
88
  executables:
71
89
  - galaaz
72
90
  - gstudio
73
91
  - gknit
92
+ - gbookdown
74
93
  - grun
75
94
  - gknit-draft
76
95
  extensions: []
77
96
  extra_rdoc_files: []
78
97
  files:
98
+ - CHANGELOG.md
79
99
  - LICENSE
80
100
  - README.md
81
101
  - Rakefile
82
102
  - bin/galaaz
103
+ - bin/galaaz-bootstrap
104
+ - bin/galaaz-jruby
105
+ - bin/galaaz-ruby
106
+ - bin/galaaz_jruby_env.inc.sh
107
+ - bin/galaaz_ruby_env.inc.sh
108
+ - bin/gbookdown
83
109
  - bin/gknit
84
110
  - bin/gknit-draft
85
111
  - bin/gknit-draft.rb
@@ -88,45 +114,71 @@ files:
88
114
  - bin/gstudio
89
115
  - bin/gstudio_irb.rb
90
116
  - bin/gstudio_pry.rb
117
+ - bin/install-tinytex
118
+ - bin/run_all_rspec
119
+ - bin/run_example
120
+ - bin/run_old_rspec
121
+ - bin/run_rspec
122
+ - bin/run_rspec_subset
123
+ - bin/run_slow_rspec
124
+ - blogs/R-on-Rails-Planning-Document.md
125
+ - blogs/README.md
91
126
  - blogs/galaaz_ggplot/galaaz_ggplot.Rmd
92
- - blogs/galaaz_ggplot/galaaz_ggplot.html
127
+ - blogs/galaaz_ggplot/galaaz_ggplot.log
93
128
  - blogs/galaaz_ggplot/galaaz_ggplot.md
94
- - blogs/galaaz_ggplot/galaaz_ggplot.pdf
129
+ - blogs/galaaz_ggplot/galaaz_ggplot.tex
130
+ - blogs/galaaz_ggplot/galaaz_ggplot_files/figure-gfm/midwest_rb.png
131
+ - blogs/galaaz_ggplot/galaaz_ggplot_files/figure-gfm/scatter_plot_rb.png
95
132
  - blogs/galaaz_ggplot/galaaz_ggplot_files/figure-html/midwest_rb.png
96
133
  - blogs/galaaz_ggplot/galaaz_ggplot_files/figure-html/scatter_plot_rb.png
134
+ - blogs/galaaz_ggplot/galaaz_ggplot_files/figure-markdown_github/midwest_rb.png
135
+ - blogs/galaaz_ggplot/galaaz_ggplot_files/figure-markdown_github/scatter_plot_rb.png
97
136
  - blogs/galaaz_ggplot/midwest.Rmd
98
- - blogs/galaaz_ggplot/midwest.html
99
137
  - blogs/galaaz_ggplot/midwest_external_png
100
138
  - blogs/gknit/gknit.Rmd
101
- - blogs/gknit/gknit.html
102
- - blogs/gknit/gknit.pdf
139
+ - blogs/gknit/gknit.md
140
+ - blogs/gknit/gknit_files/figure-gfm/bubble-1.png
141
+ - blogs/gknit/gknit_files/figure-gfm/diverging_bar.png
142
+ - blogs/gknit/gknit_files/figure-html/bubble-1.png
143
+ - blogs/gknit/gknit_files/figure-html/diverging_bar.png
103
144
  - blogs/gknit/lst.rds
104
145
  - blogs/gknit/model.rb
105
146
  - blogs/gknit/stats.bib
147
+ - blogs/manual/include_model_local_repro.Rmd
148
+ - blogs/manual/include_model_local_repro.md
106
149
  - blogs/manual/lst.rds
107
150
  - blogs/manual/manual.Rmd
108
- - blogs/manual/manual.html
151
+ - blogs/manual/manual.log
109
152
  - blogs/manual/manual.md
110
- - blogs/manual/manual.pdf
111
153
  - blogs/manual/manual.tex
112
154
  - blogs/manual/manual_files/figure-html/bubble-1.png
113
155
  - blogs/manual/manual_files/figure-html/diverging_bar.png
114
156
  - blogs/manual/manual_files/figure-latex/bubble-1.png
115
- - blogs/manual/manual_files/figure-latex/diverging_bar.pdf
116
157
  - blogs/manual/model.rb
117
158
  - blogs/nse_dplyr/nse_dplyr.Rmd
118
- - blogs/nse_dplyr/nse_dplyr.html
159
+ - blogs/nse_dplyr/nse_dplyr.log
119
160
  - blogs/nse_dplyr/nse_dplyr.md
120
- - blogs/nse_dplyr/nse_dplyr.pdf
121
161
  - blogs/oh_my/not_so.rb
122
162
  - blogs/oh_my/oh_my.Rmd
123
- - blogs/oh_my/oh_my.html
163
+ - blogs/oh_my/oh_my.log
124
164
  - blogs/oh_my/oh_my.md
165
+ - blogs/oh_my/oh_my.tex
125
166
  - blogs/oh_my/old.Rmd
126
167
  - blogs/ruby_plot/ruby_plot.Rmd
127
- - blogs/ruby_plot/ruby_plot.html
168
+ - blogs/ruby_plot/ruby_plot.log
128
169
  - blogs/ruby_plot/ruby_plot.md
129
- - blogs/ruby_plot/ruby_plot.pdf
170
+ - blogs/ruby_plot/ruby_plot.tex
171
+ - blogs/ruby_plot/ruby_plot_files/figure-gfm/dose_len.png
172
+ - blogs/ruby_plot/ruby_plot_files/figure-gfm/facet_by_delivery.png
173
+ - blogs/ruby_plot/ruby_plot_files/figure-gfm/facet_by_dose.png
174
+ - blogs/ruby_plot/ruby_plot_files/figure-gfm/facets_by_delivery_color.png
175
+ - blogs/ruby_plot/ruby_plot_files/figure-gfm/facets_by_delivery_color2.png
176
+ - blogs/ruby_plot/ruby_plot_files/figure-gfm/facets_with_decorations.png
177
+ - blogs/ruby_plot/ruby_plot_files/figure-gfm/facets_with_jitter.png
178
+ - blogs/ruby_plot/ruby_plot_files/figure-gfm/facets_with_points.png
179
+ - blogs/ruby_plot/ruby_plot_files/figure-gfm/final_box_plot.png
180
+ - blogs/ruby_plot/ruby_plot_files/figure-gfm/final_violin_plot.png
181
+ - blogs/ruby_plot/ruby_plot_files/figure-gfm/violin_with_jitter.png
130
182
  - blogs/ruby_plot/ruby_plot_files/figure-html/dose_len.png
131
183
  - blogs/ruby_plot/ruby_plot_files/figure-html/facet_by_delivery.png
132
184
  - blogs/ruby_plot/ruby_plot_files/figure-html/facet_by_dose.png
@@ -138,6 +190,19 @@ files:
138
190
  - blogs/ruby_plot/ruby_plot_files/figure-html/final_box_plot.png
139
191
  - blogs/ruby_plot/ruby_plot_files/figure-html/final_violin_plot.png
140
192
  - blogs/ruby_plot/ruby_plot_files/figure-html/violin_with_jitter.png
193
+ - blogs/ruby_plot/ruby_plot_files/figure-latex/dose_len.png
194
+ - blogs/ruby_plot/ruby_plot_files/figure-latex/facet_by_delivery.png
195
+ - blogs/ruby_plot/ruby_plot_files/figure-latex/facet_by_dose.png
196
+ - blogs/ruby_plot/ruby_plot_files/figure-latex/facets_by_delivery_color.png
197
+ - blogs/ruby_plot/ruby_plot_files/figure-latex/facets_by_delivery_color2.png
198
+ - blogs/ruby_plot/ruby_plot_files/figure-latex/facets_with_decorations.png
199
+ - blogs/ruby_plot/ruby_plot_files/figure-latex/facets_with_jitter.png
200
+ - blogs/ruby_plot/ruby_plot_files/figure-latex/facets_with_points.png
201
+ - blogs/ruby_plot/ruby_plot_files/figure-latex/final_box_plot.png
202
+ - blogs/ruby_plot/ruby_plot_files/figure-latex/final_violin_plot.png
203
+ - blogs/ruby_plot/ruby_plot_files/figure-latex/violin_with_jitter.png
204
+ - blogs/test/test.Rmd
205
+ - blogs/test/test.md
141
206
  - examples/50Plots_MasterList/Images/midwest-scatterplot.PNG
142
207
  - examples/50Plots_MasterList/ScatterPlot.rb
143
208
  - examples/50Plots_MasterList/scatter_plot.rb
@@ -145,6 +210,13 @@ files:
145
210
  - examples/Bibliography/stats.bib
146
211
  - examples/R/calc.R
147
212
  - examples/R/java_interop.R
213
+ - examples/bioconductor_deseq2_airway/Documentation/DESeq2-airway-walkthrough.md
214
+ - examples/bioconductor_deseq2_airway/bench_galaaz_three_same_process.rb
215
+ - examples/bioconductor_deseq2_airway/bench_r_three_same_process.R
216
+ - examples/bioconductor_deseq2_airway/deseq2_airway_galaaz.rb
217
+ - examples/bioconductor_deseq2_airway/deseq2_airway_galaaz_optimized.rb
218
+ - examples/bioconductor_deseq2_airway/deseq2_airway_minimal.R
219
+ - examples/bioconductor_deseq2_airway/deseq2_airway_pipeline_for_bench.R
148
220
  - examples/islr/all.rb
149
221
  - examples/islr/ch2.spec.rb
150
222
  - examples/islr/ch3.spec.rb
@@ -158,39 +230,31 @@ files:
158
230
  - examples/latex_templates/Test-acm_article/sensys-abstract.cls
159
231
  - examples/latex_templates/Test-acm_article/sigproc.bib
160
232
  - examples/latex_templates/Test-acs_article/Test-acs_article.Rmd
161
- - examples/latex_templates/Test-acs_article/Test-acs_article.pdf
162
233
  - examples/latex_templates/Test-acs_article/acs-Test-acs_article.bib
163
234
  - examples/latex_templates/Test-acs_article/acs-my_output.bib
164
235
  - examples/latex_templates/Test-acs_article/acstest.bib
165
236
  - examples/latex_templates/Test-aea_article/AEA.cls
166
237
  - examples/latex_templates/Test-aea_article/BibFile.bib
167
238
  - examples/latex_templates/Test-aea_article/Test-aea_article.Rmd
168
- - examples/latex_templates/Test-aea_article/Test-aea_article.pdf
169
239
  - examples/latex_templates/Test-aea_article/aea.bst
170
240
  - examples/latex_templates/Test-aea_article/multicol.sty
171
241
  - examples/latex_templates/Test-aea_article/references.bib
172
242
  - examples/latex_templates/Test-aea_article/setspace.sty
173
243
  - examples/latex_templates/Test-amq_article/Test-amq_article.Rmd
174
- - examples/latex_templates/Test-amq_article/Test-amq_article.pdf
175
244
  - examples/latex_templates/Test-amq_article/Test-amq_article.pdfsync
176
- - examples/latex_templates/Test-amq_article/pics/Figure2.pdf
177
245
  - examples/latex_templates/Test-ams_article/Test-ams_article.Rmd
178
246
  - examples/latex_templates/Test-ams_article/amstest.bib
179
247
  - examples/latex_templates/Test-asa_article/Test-asa_article.Rmd
180
- - examples/latex_templates/Test-asa_article/Test-asa_article.pdf
181
248
  - examples/latex_templates/Test-asa_article/agsm.bst
182
249
  - examples/latex_templates/Test-asa_article/bibliography.bib
183
250
  - examples/latex_templates/Test-ieee_article/IEEEtran.bst
184
251
  - examples/latex_templates/Test-ieee_article/IEEEtran.cls
185
252
  - examples/latex_templates/Test-ieee_article/Test-ieee_article.Rmd
186
- - examples/latex_templates/Test-ieee_article/Test-ieee_article.pdf
187
253
  - examples/latex_templates/Test-ieee_article/mybibfile.bib
188
254
  - examples/latex_templates/Test-rjournal_article/RJournal.sty
189
255
  - examples/latex_templates/Test-rjournal_article/RJreferences.bib
190
- - examples/latex_templates/Test-rjournal_article/RJwrapper.pdf
191
256
  - examples/latex_templates/Test-rjournal_article/Test-rjournal_article.Rmd
192
257
  - examples/latex_templates/Test-springer_article/Test-springer_article.Rmd
193
- - examples/latex_templates/Test-springer_article/Test-springer_article.pdf
194
258
  - examples/latex_templates/Test-springer_article/bibliography.bib
195
259
  - examples/latex_templates/Test-springer_article/spbasic.bst
196
260
  - examples/latex_templates/Test-springer_article/spmpsci.bst
@@ -201,19 +265,16 @@ files:
201
265
  - examples/misc/ggplot.rb
202
266
  - examples/misc/moneyball.rb
203
267
  - examples/misc/subsetting.rb
268
+ - examples/multithread_shards_to_r/shards_to_r.rb
204
269
  - examples/rmarkdown/svm-rmarkdown-anon-ms-example/svm-rmarkdown-anon-ms-example.Rmd
205
- - examples/rmarkdown/svm-rmarkdown-anon-ms-example/svm-rmarkdown-anon-ms-example.pdf
206
270
  - examples/rmarkdown/svm-rmarkdown-article-example/svm-rmarkdown-article-example.Rmd
207
- - examples/rmarkdown/svm-rmarkdown-article-example/svm-rmarkdown-article-example.pdf
208
271
  - examples/rmarkdown/svm-rmarkdown-beamer-example/svm-rmarkdown-beamer-example.Rmd
209
- - examples/rmarkdown/svm-rmarkdown-beamer-example/svm-rmarkdown-beamer-example.pdf
210
272
  - examples/rmarkdown/svm-rmarkdown-cv/svm-rmarkdown-cv.Rmd
211
- - examples/rmarkdown/svm-rmarkdown-cv/svm-rmarkdown-cv.pdf
212
273
  - examples/rmarkdown/svm-rmarkdown-syllabus-example/attend-grade-relationships.csv
213
274
  - examples/rmarkdown/svm-rmarkdown-syllabus-example/svm-rmarkdown-syllabus-example.Rmd
214
- - examples/rmarkdown/svm-rmarkdown-syllabus-example/svm-rmarkdown-syllabus-example.pdf
215
275
  - examples/rmarkdown/svm-xaringan-example/svm-xaringan-example.Rmd
216
276
  - examples/sthda_ggplot/README.md
277
+ - examples/sthda_ggplot/RUN.md
217
278
  - examples/sthda_ggplot/all.rb
218
279
  - examples/sthda_ggplot/one_variable_continuous/density_gg.rb
219
280
  - examples/sthda_ggplot/one_variable_continuous/geom_area.rb
@@ -242,13 +303,21 @@ files:
242
303
  - examples/sthda_ggplot/two_variables_disc_cont/geom_violin.rb
243
304
  - examples/sthda_ggplot/two_variables_disc_disc/geom_jitter.rb
244
305
  - examples/sthda_ggplot/two_variables_error/geom_crossbar.rb
306
+ - ext/new_bridge/Makefile
307
+ - ext/new_bridge/galaaz_gatekeeper_phase0.cpp
308
+ - ext/new_bridge/galaaz_gatekeeper_phase1.cpp
309
+ - lib/R_interface/galaaz_device.R
310
+ - lib/R_interface/include_engine.R
311
+ - lib/R_interface/new_bridge_adapter.rb
245
312
  - lib/R_interface/r.rb
313
+ - lib/R_interface/r_arrow.rb
246
314
  - lib/R_interface/r_libs.R
247
315
  - lib/R_interface/r_methods.rb
248
316
  - lib/R_interface/r_module_s.rb
249
317
  - lib/R_interface/rbinary_operators.rb
250
318
  - lib/R_interface/rclosure.rb
251
319
  - lib/R_interface/rdata_frame.rb
320
+ - lib/R_interface/rdevice.rb
252
321
  - lib/R_interface/rdevices.R
253
322
  - lib/R_interface/renvironment.rb
254
323
  - lib/R_interface/rexpression.rb
@@ -268,17 +337,66 @@ files:
268
337
  - lib/R_interface/runary_operators.rb
269
338
  - lib/R_interface/rvector.rb
270
339
  - lib/galaaz.rb
340
+ - lib/galaaz_jruby.rb
341
+ - lib/galaaz_ruby.rb
271
342
  - lib/gknit.rb
343
+ - lib/gknit/diagnostics.rb
272
344
  - lib/gknit/draft.rb
273
345
  - lib/gknit/include_engine.rb
274
346
  - lib/gknit/knitr_engine.rb
275
347
  - lib/gknit/rb_engine.rb
276
348
  - lib/gknit/ruby_engine.rb
349
+ - lib/new_bridge.rb
350
+ - lib/new_bridge/bootstrap/windows_bootstrap.rb
351
+ - lib/new_bridge/envelope.rb
352
+ - lib/new_bridge/eval_result.rb
353
+ - lib/new_bridge/framing.rb
354
+ - lib/new_bridge/instance_pool_client.rb
355
+ - lib/new_bridge/r_instance_manager.rb
356
+ - lib/new_bridge/session_client.rb
357
+ - lib/new_bridge/tcp_framed.rb
277
358
  - lib/util/exec_ruby.rb
278
359
  - lib/util/inline_file.rb
360
+ - new_bridge_specs/benchmark_phase5_5_unboxing_spec.rb
361
+ - new_bridge_specs/eval_r_async_spec.rb
362
+ - new_bridge_specs/integration_phase5_1_concurrent_spec.rb
363
+ - new_bridge_specs/integration_phase5_1_eval_spec.rb
364
+ - new_bridge_specs/integration_phase5_1_r_api_spec.rb
365
+ - new_bridge_specs/integration_phase5_1_smoke_spec.rb
366
+ - new_bridge_specs/integration_phase5_2_dataframe_unboxing_spec.rb
367
+ - new_bridge_specs/integration_phase5_2_handle_eval_unboxing_spec.rb
368
+ - new_bridge_specs/integration_phase5_3_callback_args_spec.rb
369
+ - new_bridge_specs/integration_phase5_3_callback_error_spec.rb
370
+ - new_bridge_specs/integration_phase5_3_callback_timeout_spec.rb
371
+ - new_bridge_specs/integration_phase5_3_callbacks_smoke_spec.rb
372
+ - new_bridge_specs/integration_phase5_3_edge_cases_spec.rb
373
+ - new_bridge_specs/integration_phase5_3_nested_spec.rb
374
+ - new_bridge_specs/integration_phase5_4_concurrent_sessions_spec.rb
375
+ - new_bridge_specs/integration_phase5_4_nested_session_callbacks_spec.rb
376
+ - new_bridge_specs/integration_phase5_4_session_routing_spec.rb
377
+ - new_bridge_specs/integration_phase5_5_stress_concurrency_spec.rb
378
+ - new_bridge_specs/integration_phase5_5_unbox_walk_spec.rb
379
+ - new_bridge_specs/phase0_protocol_spec.rb
380
+ - new_bridge_specs/phase1_req_ret_spec.rb
381
+ - new_bridge_specs/phase2_multi_instance_spec.rb
382
+ - new_bridge_specs/phase3_callbacks_spec.rb
383
+ - new_bridge_specs/phase4_2_hardening_spec.rb
384
+ - new_bridge_specs/phase4_3_r_instance_manager_spec.rb
385
+ - new_bridge_specs/phase4_nested_callbacks_spec.rb
279
386
  - r_requires/ggplot.rb
280
387
  - r_requires/knitr.rb
281
388
  - specs/all.rb
389
+ - specs/arrow_from_ruby_batches_spec.rb
390
+ - specs/arrow_semantics_spec.rb
391
+ - specs/bridge_concurrent_spec.rb
392
+ - specs/bridge_nested_spec.rb
393
+ - specs/dataframe_semantics_spec.rb
394
+ - specs/dataframe_single_index_logical_filter_spec.rb
395
+ - specs/dispatch_probe_cache_spec.rb
396
+ - specs/dispatch_probe_error_class_fallback_spec.rb
397
+ - specs/dispatch_probe_fallback_spec.rb
398
+ - specs/environment_semantics_spec.rb
399
+ - specs/field_access_spec.rb
282
400
  - specs/figures/bg.jpeg
283
401
  - specs/figures/bg.png
284
402
  - specs/figures/bg.svg
@@ -292,33 +410,71 @@ files:
292
410
  - specs/figures/width_height_units1.png
293
411
  - specs/figures/width_height_units2.jpeg
294
412
  - specs/figures/width_height_units2.png
295
- - specs/r_dataframe.spec.rb
413
+ - specs/formula_semantics_spec.rb
414
+ - specs/galaaz_util_exec_ruby_spec.rb
415
+ - specs/galaaz_util_inline_file_spec.rb
416
+ - specs/gknit_cli_option_permutation_spec.rb
417
+ - specs/gknit_include_engine_spec.rb
418
+ - specs/gknit_install_timeout_report_spec.rb
419
+ - specs/gknit_internal_error_report_spec.rb
420
+ - specs/gknit_vector_map_output_spec.rb
421
+ - specs/globalenv_guardrail_spec.rb
422
+ - specs/language_expression_semantics_spec.rb
423
+ - specs/list_semantics_spec.rb
424
+ - specs/new_bridge_bulk_dataframe_transfer_spec.rb
425
+ - specs/new_bridge_bulk_vector_transfer_spec.rb
426
+ - specs/new_bridge_callback_timeout_spec.rb
427
+ - specs/new_bridge_eval_r_fallback_spec.rb
428
+ - specs/nil_null_spec.rb
429
+ - specs/object_build_phase2_spec.rb
430
+ - specs/phase1_callback_bridge_spec.rb
431
+ - specs/phase2_gknit_generic_rendering_guardrail_spec.rb
432
+ - specs/phase2_gknit_no_raw_code_leakage_spec.rb
433
+ - specs/phase3_gknit_generic_graphics_capture_spec.rb
434
+ - specs/plot_device_semantics_spec.rb
435
+ - specs/plot_snapshot_semantics_spec.rb
436
+ - specs/protocol_result_spec.rb
437
+ - specs/r_batch_fail_fast_spec.rb
438
+ - specs/r_bridge_bootstrap_spec.rb
296
439
  - specs/r_devices.spec.rb
297
- - specs/r_environment.spec.rb
298
440
  - specs/r_eval.spec.rb
299
- - specs/r_formula.spec.rb
300
441
  - specs/r_function.spec.rb
301
- - specs/r_language.spec.rb
302
- - specs/r_list.spec.rb
442
+ - specs/r_instance_manager_spec.rb
303
443
  - specs/r_list_apply.spec.rb
304
444
  - specs/r_matrix.spec.rb
305
445
  - specs/r_nse.spec.rb
306
- - specs/r_plots.spec.rb
446
+ - specs/r_object_send_dispatch_spec.rb
447
+ - specs/r_vector_comparator_spec.rb
307
448
  - specs/r_vector_creation.spec.rb
308
449
  - specs/r_vector_functions.spec.rb
309
450
  - specs/r_vector_object.spec.rb
310
451
  - specs/r_vector_operators.spec.rb
452
+ - specs/r_vector_structured_scalar_reads_spec.rb
311
453
  - specs/r_vector_subsetting.spec.rb
312
- - specs/ruby_expression.spec.rb
454
+ - specs/range_helper_spec.rb
455
+ - specs/rsupport_scope_spec.rb
456
+ - specs/rsupport_var_name_thread_safety_spec.rb
457
+ - specs/scalar_character_spec.rb
458
+ - specs/scoped_symbol_dsl_refinement_spec.rb
459
+ - specs/session_env_bridge_spec.rb
460
+ - specs/simplecov_bootstrap_spec.rb
461
+ - specs/spec_helper.rb
313
462
  - specs/tmp.rb
463
+ - specs/unboxing_recursion_regression_spec.rb
464
+ - specs/unboxing_spec.rb
465
+ - specs/verify_callbacks.rb
314
466
  - sty/galaaz.sty
315
467
  - version.rb
316
- homepage: http://github.com/rbotafogo/galaaz/wiki
468
+ homepage: https://github.com/rbotafogo/galaaz
317
469
  licenses:
318
470
  - BSD-2-Clause
319
471
  metadata:
472
+ homepage_uri: https://github.com/rbotafogo/galaaz
473
+ source_code_uri: https://github.com/rbotafogo/galaaz
474
+ documentation_uri: https://rbotafogo.github.io/galaaz/
475
+ changelog_uri: https://github.com/rbotafogo/galaaz/blob/galaaz2_0/CHANGELOG.md
320
476
  yard.run: yri
321
- post_install_message:
477
+ post_install_message:
322
478
  rdoc_options: []
323
479
  require_paths:
324
480
  - lib
@@ -326,15 +482,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
326
482
  requirements:
327
483
  - - ">="
328
484
  - !ruby/object:Gem::Version
329
- version: '0'
485
+ version: '3.1'
330
486
  required_rubygems_version: !ruby/object:Gem::Requirement
331
487
  requirements:
332
488
  - - ">="
333
489
  - !ruby/object:Gem::Version
334
490
  version: '0'
335
491
  requirements: []
336
- rubygems_version: 3.0.3
337
- signing_key:
492
+ rubygems_version: 3.5.22
493
+ signing_key:
338
494
  specification_version: 4
339
- summary: Tightly coupling Ruby and R
495
+ summary: 'R-on-Rails: tightly couple Ruby and GNU R for data science on the web'
340
496
  test_files: []