galaaz 0.5.0 → 2.0.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 (359) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +26 -0
  3. data/LICENSE +0 -0
  4. data/README.md +1360 -636
  5. data/Rakefile +61 -41
  6. data/bin/galaaz-bootstrap +137 -0
  7. data/bin/galaaz-jruby +14 -0
  8. data/bin/galaaz_jruby_env.inc.sh +6 -0
  9. data/bin/gbookdown +64 -0
  10. data/bin/gknit +84 -13
  11. data/bin/gknit-draft.rb +0 -0
  12. data/bin/gstudio +5 -3
  13. data/bin/gstudio_irb.rb +0 -0
  14. data/bin/gstudio_pry.rb +0 -0
  15. data/bin/install-tinytex +6 -0
  16. data/bin/run_all_rspec +43 -0
  17. data/bin/run_example +14 -0
  18. data/bin/run_old_rspec +19 -0
  19. data/bin/run_rspec +23 -0
  20. data/bin/run_rspec_subset +38 -0
  21. data/bin/run_slow_rspec +19 -0
  22. data/blogs/R-on-Rails-Planning-Document.md +940 -0
  23. data/blogs/README.md +100 -0
  24. data/blogs/galaaz_ggplot/galaaz_ggplot.Rmd +38 -66
  25. data/blogs/galaaz_ggplot/galaaz_ggplot.log +754 -0
  26. data/blogs/galaaz_ggplot/galaaz_ggplot.md +115 -155
  27. data/blogs/galaaz_ggplot/galaaz_ggplot.tex +607 -0
  28. data/blogs/galaaz_ggplot/galaaz_ggplot_files/figure-html/midwest_rb.png +0 -0
  29. data/blogs/galaaz_ggplot/galaaz_ggplot_files/figure-html/scatter_plot_rb.png +0 -0
  30. data/blogs/galaaz_ggplot/galaaz_ggplot_files/figure-markdown_github/midwest_rb.png +0 -0
  31. data/blogs/galaaz_ggplot/galaaz_ggplot_files/figure-markdown_github/scatter_plot_rb.png +0 -0
  32. data/blogs/galaaz_ggplot/midwest.Rmd +3 -3
  33. data/blogs/galaaz_ggplot/midwest_external_png +0 -0
  34. data/blogs/gknit/gknit.Rmd +47 -52
  35. data/blogs/gknit/gknit.md +1430 -0
  36. data/blogs/gknit/gknit_files/figure-html/bubble-1.png +0 -0
  37. data/blogs/gknit/gknit_files/figure-html/diverging_bar.png +0 -0
  38. data/blogs/gknit/lst.rds +0 -0
  39. data/blogs/gknit/model.rb +1 -1
  40. data/blogs/gknit/stats.bib +0 -0
  41. data/blogs/manual/include_model_local_repro.Rmd +14 -0
  42. data/blogs/manual/include_model_local_repro.md +75 -0
  43. data/blogs/manual/lst.rds +0 -0
  44. data/blogs/manual/manual.Rmd +852 -239
  45. data/blogs/manual/manual.log +1786 -0
  46. data/blogs/manual/manual.md +1360 -636
  47. data/blogs/manual/manual.tex +1883 -1161
  48. data/blogs/manual/manual_files/figure-html/bubble-1.png +0 -0
  49. data/blogs/manual/manual_files/figure-html/diverging_bar.png +0 -0
  50. data/blogs/manual/manual_files/figure-latex/bubble-1.png +0 -0
  51. data/blogs/manual/model.rb +1 -1
  52. data/blogs/nse_dplyr/nse_dplyr.Rmd +84 -111
  53. data/blogs/nse_dplyr/nse_dplyr.log +928 -0
  54. data/blogs/nse_dplyr/nse_dplyr.md +198 -229
  55. data/blogs/oh_my/not_so.rb +0 -0
  56. data/blogs/oh_my/oh_my.Rmd +1234 -25
  57. data/blogs/oh_my/oh_my.log +804 -0
  58. data/blogs/oh_my/oh_my.md +1663 -86
  59. data/blogs/oh_my/oh_my.tex +821 -0
  60. data/blogs/oh_my/old.Rmd +15 -14
  61. data/blogs/ruby_plot/ruby_plot.Rmd +58 -82
  62. data/blogs/ruby_plot/ruby_plot.log +885 -0
  63. data/blogs/ruby_plot/ruby_plot.md +71 -102
  64. data/blogs/ruby_plot/ruby_plot.tex +940 -0
  65. data/blogs/ruby_plot/ruby_plot_files/figure-html/dose_len.png +0 -0
  66. data/blogs/ruby_plot/ruby_plot_files/figure-html/facet_by_delivery.png +0 -0
  67. data/blogs/ruby_plot/ruby_plot_files/figure-html/facet_by_dose.png +0 -0
  68. data/blogs/ruby_plot/ruby_plot_files/figure-html/facets_by_delivery_color.png +0 -0
  69. data/blogs/ruby_plot/ruby_plot_files/figure-html/facets_by_delivery_color2.png +0 -0
  70. data/blogs/ruby_plot/ruby_plot_files/figure-html/facets_with_decorations.png +0 -0
  71. data/blogs/ruby_plot/ruby_plot_files/figure-html/facets_with_jitter.png +0 -0
  72. data/blogs/ruby_plot/ruby_plot_files/figure-html/facets_with_points.png +0 -0
  73. data/blogs/ruby_plot/ruby_plot_files/figure-html/final_box_plot.png +0 -0
  74. data/blogs/ruby_plot/ruby_plot_files/figure-html/final_violin_plot.png +0 -0
  75. data/blogs/ruby_plot/ruby_plot_files/figure-html/violin_with_jitter.png +0 -0
  76. data/blogs/ruby_plot/ruby_plot_files/figure-latex/dose_len.png +0 -0
  77. data/blogs/ruby_plot/ruby_plot_files/figure-latex/facet_by_delivery.png +0 -0
  78. data/blogs/ruby_plot/ruby_plot_files/figure-latex/facet_by_dose.png +0 -0
  79. data/blogs/ruby_plot/ruby_plot_files/figure-latex/facets_by_delivery_color.png +0 -0
  80. data/blogs/ruby_plot/ruby_plot_files/figure-latex/facets_by_delivery_color2.png +0 -0
  81. data/blogs/ruby_plot/ruby_plot_files/figure-latex/facets_with_decorations.png +0 -0
  82. data/blogs/ruby_plot/ruby_plot_files/figure-latex/facets_with_jitter.png +0 -0
  83. data/blogs/ruby_plot/ruby_plot_files/figure-latex/facets_with_points.png +0 -0
  84. data/blogs/ruby_plot/ruby_plot_files/figure-latex/final_box_plot.png +0 -0
  85. data/blogs/ruby_plot/ruby_plot_files/figure-latex/final_violin_plot.png +0 -0
  86. data/blogs/ruby_plot/ruby_plot_files/figure-latex/violin_with_jitter.png +0 -0
  87. data/blogs/test/test.Rmd +14 -0
  88. data/examples/50Plots_MasterList/Images/midwest-scatterplot.PNG +0 -0
  89. data/examples/50Plots_MasterList/ScatterPlot.rb +0 -0
  90. data/examples/50Plots_MasterList/scatter_plot.rb +0 -0
  91. data/examples/Bibliography/master.bib +0 -0
  92. data/examples/Bibliography/stats.bib +0 -0
  93. data/examples/R/calc.R +0 -0
  94. data/examples/R/java_interop.R +0 -0
  95. data/examples/bioconductor_deseq2_airway/Documentation/DESeq2-airway-walkthrough.md +56 -0
  96. data/examples/bioconductor_deseq2_airway/bench_galaaz_three_same_process.rb +53 -0
  97. data/examples/bioconductor_deseq2_airway/bench_r_three_same_process.R +34 -0
  98. data/examples/bioconductor_deseq2_airway/deseq2_airway_galaaz.rb +33 -0
  99. data/examples/bioconductor_deseq2_airway/deseq2_airway_galaaz_optimized.rb +34 -0
  100. data/examples/bioconductor_deseq2_airway/deseq2_airway_minimal.R +30 -0
  101. data/examples/bioconductor_deseq2_airway/deseq2_airway_pipeline_for_bench.R +36 -0
  102. data/examples/islr/all.rb +13 -0
  103. data/examples/islr/ch2.spec.rb +37 -7
  104. data/examples/islr/ch3.spec.rb +11 -2
  105. data/examples/islr/ch3_boston.rb +27 -0
  106. data/examples/islr/ch3_multiple_regression.rb +0 -0
  107. data/examples/islr/ch6.spec.rb +24 -1
  108. data/examples/islr/x_y_rnorm.jpg +0 -0
  109. data/examples/latex_templates/Test-acm_article/acm_proc_article-sp.cls +0 -0
  110. data/examples/latex_templates/Test-acm_article/sigproc.bib +0 -0
  111. data/examples/latex_templates/Test-acs_article/acs-Test-acs_article.bib +0 -0
  112. data/examples/latex_templates/Test-acs_article/acs-my_output.bib +0 -0
  113. data/examples/latex_templates/Test-aea_article/BibFile.bib +0 -0
  114. data/examples/latex_templates/Test-aea_article/Test-aea_article.Rmd +0 -0
  115. data/examples/latex_templates/Test-aea_article/references.bib +0 -0
  116. data/examples/latex_templates/Test-amq_article/Test-amq_article.Rmd +0 -0
  117. data/examples/latex_templates/Test-amq_article/Test-amq_article.pdfsync +0 -0
  118. data/examples/latex_templates/Test-ieee_article/IEEEtran.bst +0 -0
  119. data/examples/latex_templates/Test-ieee_article/mybibfile.bib +0 -0
  120. data/examples/latex_templates/Test-rjournal_article/RJournal.sty +0 -0
  121. data/examples/latex_templates/Test-rjournal_article/RJreferences.bib +0 -0
  122. data/examples/latex_templates/Test-rjournal_article/Test-rjournal_article.Rmd +0 -0
  123. data/examples/misc/baseball.csv +0 -0
  124. data/examples/misc/ggplot.rb +3 -2
  125. data/examples/misc/moneyball.rb +0 -0
  126. data/examples/misc/subsetting.rb +0 -0
  127. data/examples/multithread_shards_to_r/shards_to_r.rb +67 -0
  128. data/examples/rmarkdown/svm-rmarkdown-anon-ms-example/svm-rmarkdown-anon-ms-example.Rmd +0 -0
  129. data/examples/rmarkdown/svm-rmarkdown-article-example/svm-rmarkdown-article-example.Rmd +0 -0
  130. data/examples/rmarkdown/svm-rmarkdown-beamer-example/svm-rmarkdown-beamer-example.Rmd +0 -0
  131. data/examples/rmarkdown/svm-rmarkdown-cv/svm-rmarkdown-cv.Rmd +0 -0
  132. data/examples/rmarkdown/svm-rmarkdown-syllabus-example/attend-grade-relationships.csv +0 -0
  133. data/examples/rmarkdown/svm-rmarkdown-syllabus-example/svm-rmarkdown-syllabus-example.Rmd +0 -0
  134. data/examples/rmarkdown/svm-xaringan-example/svm-xaringan-example.Rmd +0 -0
  135. data/examples/sthda_ggplot/README.md +0 -0
  136. data/examples/sthda_ggplot/RUN.md +41 -0
  137. data/examples/sthda_ggplot/all.rb +0 -0
  138. data/examples/sthda_ggplot/one_variable_continuous/density_gg.rb +0 -0
  139. data/examples/sthda_ggplot/one_variable_continuous/geom_area.rb +0 -0
  140. data/examples/sthda_ggplot/one_variable_continuous/geom_density.rb +2 -0
  141. data/examples/sthda_ggplot/one_variable_continuous/geom_dotplot.rb +0 -0
  142. data/examples/sthda_ggplot/one_variable_continuous/geom_freqpoly.rb +0 -0
  143. data/examples/sthda_ggplot/one_variable_continuous/geom_histogram.rb +0 -0
  144. data/examples/sthda_ggplot/one_variable_continuous/histogram_density.rb +0 -0
  145. data/examples/sthda_ggplot/one_variable_continuous/stat.rb +0 -0
  146. data/examples/sthda_ggplot/one_variable_discrete/bar.rb +0 -0
  147. data/examples/sthda_ggplot/qplots/box_violin_dot.rb +0 -0
  148. data/examples/sthda_ggplot/qplots/scatter_plots.rb +0 -0
  149. data/examples/sthda_ggplot/scatter_gg.rb +0 -0
  150. data/examples/sthda_ggplot/two_variables_cont_bivariate/geom_bin2d.rb +0 -0
  151. data/examples/sthda_ggplot/two_variables_cont_bivariate/geom_density2d.rb +0 -0
  152. data/examples/sthda_ggplot/two_variables_cont_bivariate/geom_hex.rb +0 -0
  153. data/examples/sthda_ggplot/two_variables_cont_cont/geom_point.rb +0 -0
  154. data/examples/sthda_ggplot/two_variables_cont_cont/geom_smooth.rb +0 -0
  155. data/examples/sthda_ggplot/two_variables_cont_cont/misc.rb +0 -0
  156. data/examples/sthda_ggplot/two_variables_cont_function/geom_area.rb +4 -3
  157. data/examples/sthda_ggplot/two_variables_disc_cont/geom_bar.rb +0 -0
  158. data/examples/sthda_ggplot/two_variables_disc_cont/geom_boxplot.rb +0 -0
  159. data/examples/sthda_ggplot/two_variables_disc_cont/geom_dotplot.rb +0 -0
  160. data/examples/sthda_ggplot/two_variables_disc_cont/geom_jitter.rb +0 -0
  161. data/examples/sthda_ggplot/two_variables_disc_cont/geom_line.rb +0 -0
  162. data/examples/sthda_ggplot/two_variables_disc_cont/geom_violin.rb +0 -0
  163. data/examples/sthda_ggplot/two_variables_disc_disc/geom_jitter.rb +0 -0
  164. data/examples/sthda_ggplot/two_variables_error/geom_crossbar.rb +0 -0
  165. data/ext/new_bridge/Makefile +46 -0
  166. data/ext/new_bridge/galaaz_gatekeeper_phase0.cpp +12 -0
  167. data/ext/new_bridge/galaaz_gatekeeper_phase1.cpp +1639 -0
  168. data/lib/R_interface/galaaz_device.R +20 -0
  169. data/lib/R_interface/include_engine.R +109 -0
  170. data/lib/R_interface/new_bridge_adapter.rb +824 -0
  171. data/lib/R_interface/r.rb +177 -25
  172. data/lib/R_interface/r_arrow.rb +113 -0
  173. data/lib/R_interface/r_libs.R +3 -3
  174. data/lib/R_interface/r_methods.rb +13 -126
  175. data/lib/R_interface/r_module_s.rb +0 -0
  176. data/lib/R_interface/rbinary_operators.rb +20 -2
  177. data/lib/R_interface/rclosure.rb +5 -1
  178. data/lib/R_interface/rdata_frame.rb +34 -70
  179. data/lib/R_interface/rdevice.rb +125 -0
  180. data/lib/R_interface/rdevices.R +0 -0
  181. data/lib/R_interface/renvironment.rb +10 -4
  182. data/lib/R_interface/rexpression.rb +5 -1
  183. data/lib/R_interface/rindexed_object.rb +41 -13
  184. data/lib/R_interface/rlanguage.rb +20 -62
  185. data/lib/R_interface/rlist.rb +115 -25
  186. data/lib/R_interface/rlogical_operators.rb +0 -0
  187. data/lib/R_interface/rmatrix.rb +2 -11
  188. data/lib/R_interface/rmd_indexed_object.rb +5 -1
  189. data/lib/R_interface/robject.rb +348 -290
  190. data/lib/R_interface/rpkg.rb +0 -0
  191. data/lib/R_interface/rsupport.rb +609 -328
  192. data/lib/R_interface/rsupport_scope.rb +2 -1
  193. data/lib/R_interface/rsymbol.rb +50 -0
  194. data/lib/R_interface/ruby_callback.rb +2 -3
  195. data/lib/R_interface/ruby_extensions.rb +225 -175
  196. data/lib/R_interface/runary_operators.rb +0 -0
  197. data/lib/R_interface/rvector.rb +147 -31
  198. data/lib/galaaz.rb +0 -0
  199. data/lib/galaaz_jruby.rb +22 -0
  200. data/lib/gknit/diagnostics.rb +50 -0
  201. data/lib/gknit/draft.rb +23 -17
  202. data/lib/gknit/include_engine.rb +15 -7
  203. data/lib/gknit/knitr_engine.rb +223 -74
  204. data/lib/gknit/rb_engine.rb +3 -3
  205. data/lib/gknit/ruby_engine.rb +0 -0
  206. data/lib/gknit.rb +1 -0
  207. data/lib/new_bridge/bootstrap/windows_bootstrap.rb +285 -0
  208. data/lib/new_bridge/envelope.rb +51 -0
  209. data/lib/new_bridge/eval_result.rb +26 -0
  210. data/lib/new_bridge/framing.rb +39 -0
  211. data/lib/new_bridge/instance_pool_client.rb +38 -0
  212. data/lib/new_bridge/r_instance_manager.rb +404 -0
  213. data/lib/new_bridge/session_client.rb +530 -0
  214. data/lib/new_bridge/tcp_framed.rb +44 -0
  215. data/lib/new_bridge.rb +9 -0
  216. data/lib/util/exec_ruby.rb +95 -20
  217. data/lib/util/inline_file.rb +35 -30
  218. data/new_bridge_specs/benchmark_phase5_5_unboxing_spec.rb +96 -0
  219. data/new_bridge_specs/eval_r_async_spec.rb +113 -0
  220. data/new_bridge_specs/integration_phase5_1_concurrent_spec.rb +50 -0
  221. data/new_bridge_specs/integration_phase5_1_eval_spec.rb +16 -0
  222. data/new_bridge_specs/integration_phase5_1_r_api_spec.rb +25 -0
  223. data/new_bridge_specs/integration_phase5_1_smoke_spec.rb +31 -0
  224. data/new_bridge_specs/integration_phase5_2_dataframe_unboxing_spec.rb +19 -0
  225. data/new_bridge_specs/integration_phase5_2_handle_eval_unboxing_spec.rb +25 -0
  226. data/new_bridge_specs/integration_phase5_3_callback_args_spec.rb +28 -0
  227. data/new_bridge_specs/integration_phase5_3_callback_error_spec.rb +22 -0
  228. data/new_bridge_specs/integration_phase5_3_callback_timeout_spec.rb +28 -0
  229. data/new_bridge_specs/integration_phase5_3_callbacks_smoke_spec.rb +22 -0
  230. data/new_bridge_specs/integration_phase5_3_edge_cases_spec.rb +52 -0
  231. data/new_bridge_specs/integration_phase5_3_nested_spec.rb +30 -0
  232. data/new_bridge_specs/integration_phase5_4_concurrent_sessions_spec.rb +53 -0
  233. data/new_bridge_specs/integration_phase5_4_nested_session_callbacks_spec.rb +49 -0
  234. data/new_bridge_specs/integration_phase5_4_session_routing_spec.rb +38 -0
  235. data/new_bridge_specs/integration_phase5_5_stress_concurrency_spec.rb +52 -0
  236. data/new_bridge_specs/integration_phase5_5_unbox_walk_spec.rb +46 -0
  237. data/new_bridge_specs/phase0_protocol_spec.rb +96 -0
  238. data/new_bridge_specs/phase1_req_ret_spec.rb +66 -0
  239. data/new_bridge_specs/phase2_multi_instance_spec.rb +67 -0
  240. data/new_bridge_specs/phase3_callbacks_spec.rb +71 -0
  241. data/new_bridge_specs/phase4_2_hardening_spec.rb +252 -0
  242. data/new_bridge_specs/phase4_3_r_instance_manager_spec.rb +85 -0
  243. data/new_bridge_specs/phase4_nested_callbacks_spec.rb +123 -0
  244. data/r_requires/ggplot.rb +0 -0
  245. data/r_requires/knitr.rb +0 -0
  246. data/specs/all.rb +15 -11
  247. data/specs/arrow_from_ruby_batches_spec.rb +50 -0
  248. data/specs/arrow_semantics_spec.rb +64 -0
  249. data/specs/bridge_concurrent_spec.rb +46 -0
  250. data/specs/bridge_nested_spec.rb +25 -0
  251. data/specs/dataframe_semantics_spec.rb +122 -0
  252. data/specs/dataframe_single_index_logical_filter_spec.rb +21 -0
  253. data/specs/dispatch_probe_cache_spec.rb +38 -0
  254. data/specs/dispatch_probe_error_class_fallback_spec.rb +20 -0
  255. data/specs/dispatch_probe_fallback_spec.rb +18 -0
  256. data/specs/environment_semantics_spec.rb +89 -0
  257. data/specs/field_access_spec.rb +31 -0
  258. data/specs/figures/bg.jpeg +0 -0
  259. data/specs/figures/bg.png +0 -0
  260. data/specs/figures/bg.svg +168 -57
  261. data/specs/figures/dose_len.png +0 -0
  262. data/specs/figures/no_args.jpeg +0 -0
  263. data/specs/figures/no_args.png +0 -0
  264. data/specs/figures/no_args.svg +168 -57
  265. data/specs/figures/width_height.jpeg +0 -0
  266. data/specs/figures/width_height.png +0 -0
  267. data/specs/figures/width_height_units1.jpeg +0 -0
  268. data/specs/figures/width_height_units1.png +0 -0
  269. data/specs/figures/width_height_units2.jpeg +0 -0
  270. data/specs/figures/width_height_units2.png +0 -0
  271. data/specs/formula_semantics_spec.rb +81 -0
  272. data/specs/galaaz_util_exec_ruby_spec.rb +85 -0
  273. data/specs/galaaz_util_inline_file_spec.rb +54 -0
  274. data/specs/gknit_cli_option_permutation_spec.rb +24 -0
  275. data/specs/gknit_include_engine_spec.rb +72 -0
  276. data/specs/gknit_install_timeout_report_spec.rb +69 -0
  277. data/specs/gknit_internal_error_report_spec.rb +57 -0
  278. data/specs/gknit_vector_map_output_spec.rb +59 -0
  279. data/specs/globalenv_guardrail_spec.rb +52 -0
  280. data/specs/language_expression_semantics_spec.rb +145 -0
  281. data/specs/list_semantics_spec.rb +111 -0
  282. data/specs/new_bridge_bulk_dataframe_transfer_spec.rb +44 -0
  283. data/specs/new_bridge_bulk_vector_transfer_spec.rb +73 -0
  284. data/specs/new_bridge_callback_timeout_spec.rb +69 -0
  285. data/specs/new_bridge_eval_r_fallback_spec.rb +55 -0
  286. data/specs/nil_null_spec.rb +42 -0
  287. data/specs/object_build_phase2_spec.rb +53 -0
  288. data/specs/phase1_callback_bridge_spec.rb +84 -0
  289. data/specs/phase2_gknit_generic_rendering_guardrail_spec.rb +46 -0
  290. data/specs/phase2_gknit_no_raw_code_leakage_spec.rb +43 -0
  291. data/specs/phase3_gknit_generic_graphics_capture_spec.rb +71 -0
  292. data/specs/plot_device_semantics_spec.rb +28 -0
  293. data/specs/plot_snapshot_semantics_spec.rb +58 -0
  294. data/specs/protocol_result_spec.rb +236 -0
  295. data/specs/r_batch_fail_fast_spec.rb +47 -0
  296. data/specs/r_bridge_bootstrap_spec.rb +11 -0
  297. data/specs/r_devices.spec.rb +1 -1
  298. data/specs/r_eval.spec.rb +16 -18
  299. data/specs/r_function.spec.rb +1 -1
  300. data/specs/r_instance_manager_spec.rb +285 -0
  301. data/specs/r_list_apply.spec.rb +15 -15
  302. data/specs/r_matrix.spec.rb +0 -0
  303. data/specs/r_nse.spec.rb +5 -5
  304. data/specs/r_object_send_dispatch_spec.rb +13 -0
  305. data/specs/r_vector_comparator_spec.rb +8 -0
  306. data/specs/r_vector_creation.spec.rb +0 -0
  307. data/specs/r_vector_functions.spec.rb +0 -0
  308. data/specs/r_vector_object.spec.rb +0 -0
  309. data/specs/r_vector_operators.spec.rb +0 -0
  310. data/specs/r_vector_structured_scalar_reads_spec.rb +35 -0
  311. data/specs/r_vector_subsetting.spec.rb +0 -0
  312. data/specs/range_helper_spec.rb +21 -0
  313. data/specs/rsupport_scope_spec.rb +28 -0
  314. data/specs/rsupport_var_name_thread_safety_spec.rb +24 -0
  315. data/specs/scalar_character_spec.rb +44 -0
  316. data/specs/scoped_symbol_dsl_refinement_spec.rb +40 -0
  317. data/specs/session_env_bridge_spec.rb +25 -0
  318. data/specs/simplecov_bootstrap_spec.rb +10 -0
  319. data/specs/spec_helper.rb +10 -0
  320. data/specs/tmp.rb +0 -0
  321. data/specs/unboxing_recursion_regression_spec.rb +30 -0
  322. data/specs/unboxing_spec.rb +49 -0
  323. data/specs/verify_callbacks.rb +42 -0
  324. data/sty/galaaz.sty +0 -0
  325. data/version.rb +1 -1
  326. metadata +194 -64
  327. data/blogs/galaaz_ggplot/galaaz_ggplot.html +0 -520
  328. data/blogs/galaaz_ggplot/galaaz_ggplot.pdf +0 -0
  329. data/blogs/galaaz_ggplot/midwest.html +0 -188
  330. data/blogs/gknit/gknit.html +0 -2266
  331. data/blogs/gknit/gknit.pdf +0 -0
  332. data/blogs/manual/manual.html +0 -4638
  333. data/blogs/manual/manual.pdf +0 -0
  334. data/blogs/manual/manual_files/figure-latex/diverging_bar.pdf +0 -0
  335. data/blogs/nse_dplyr/nse_dplyr.html +0 -878
  336. data/blogs/nse_dplyr/nse_dplyr.pdf +0 -0
  337. data/blogs/oh_my/oh_my.html +0 -568
  338. data/blogs/ruby_plot/ruby_plot.html +0 -544
  339. data/blogs/ruby_plot/ruby_plot.pdf +0 -0
  340. data/examples/latex_templates/Test-acs_article/Test-acs_article.pdf +0 -0
  341. data/examples/latex_templates/Test-aea_article/Test-aea_article.pdf +0 -0
  342. data/examples/latex_templates/Test-amq_article/Test-amq_article.pdf +0 -0
  343. data/examples/latex_templates/Test-amq_article/pics/Figure2.pdf +0 -0
  344. data/examples/latex_templates/Test-asa_article/Test-asa_article.pdf +0 -0
  345. data/examples/latex_templates/Test-ieee_article/Test-ieee_article.pdf +0 -0
  346. data/examples/latex_templates/Test-rjournal_article/RJwrapper.pdf +0 -0
  347. data/examples/latex_templates/Test-springer_article/Test-springer_article.pdf +0 -0
  348. data/examples/rmarkdown/svm-rmarkdown-anon-ms-example/svm-rmarkdown-anon-ms-example.pdf +0 -0
  349. data/examples/rmarkdown/svm-rmarkdown-article-example/svm-rmarkdown-article-example.pdf +0 -0
  350. data/examples/rmarkdown/svm-rmarkdown-beamer-example/svm-rmarkdown-beamer-example.pdf +0 -0
  351. data/examples/rmarkdown/svm-rmarkdown-cv/svm-rmarkdown-cv.pdf +0 -0
  352. data/examples/rmarkdown/svm-rmarkdown-syllabus-example/svm-rmarkdown-syllabus-example.pdf +0 -0
  353. data/specs/r_dataframe.spec.rb +0 -379
  354. data/specs/r_environment.spec.rb +0 -140
  355. data/specs/r_formula.spec.rb +0 -232
  356. data/specs/r_language.spec.rb +0 -112
  357. data/specs/r_list.spec.rb +0 -293
  358. data/specs/r_plots.spec.rb +0 -72
  359. 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.0.0"
metadata CHANGED
@@ -1,24 +1,37 @@
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.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rodrigo Botafogo
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2020-06-06 00:00:00.000000000 Z
10
+ date: 2026-08-17 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
- name: rspec
13
+ name: msgpack
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - "~>"
17
+ - !ruby/object:Gem::Version
18
+ version: '1.0'
19
+ type: :runtime
15
20
  prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - "~>"
24
+ - !ruby/object:Gem::Version
25
+ version: '1.0'
26
+ - !ruby/object:Gem::Dependency
27
+ name: rspec
16
28
  requirement: !ruby/object:Gem::Requirement
17
29
  requirements:
18
30
  - - "~>"
19
31
  - !ruby/object:Gem::Version
20
32
  version: '3.8'
21
33
  type: :development
34
+ prerelease: false
22
35
  version_requirements: !ruby/object:Gem::Requirement
23
36
  requirements:
24
37
  - - "~>"
@@ -26,13 +39,13 @@ dependencies:
26
39
  version: '3.8'
27
40
  - !ruby/object:Gem::Dependency
28
41
  name: simplecov
29
- prerelease: false
30
42
  requirement: !ruby/object:Gem::Requirement
31
43
  requirements:
32
44
  - - "~>"
33
45
  - !ruby/object:Gem::Version
34
46
  version: '0.16'
35
47
  type: :development
48
+ prerelease: false
36
49
  version_requirements: !ruby/object:Gem::Requirement
37
50
  requirements:
38
51
  - - "~>"
@@ -40,46 +53,52 @@ dependencies:
40
53
  version: '0.16'
41
54
  - !ruby/object:Gem::Dependency
42
55
  name: rdoc
43
- prerelease: false
44
56
  requirement: !ruby/object:Gem::Requirement
45
57
  requirements:
46
- - - "~>"
58
+ - - ">="
47
59
  - !ruby/object:Gem::Version
48
- version: '5.0'
60
+ version: 6.1.2.1
49
61
  type: :development
62
+ prerelease: false
50
63
  version_requirements: !ruby/object:Gem::Requirement
51
64
  requirements:
52
- - - "~>"
65
+ - - ">="
53
66
  - !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"
67
+ version: 6.1.2.1
68
+ description: |
69
+ Galaaz brings the full R ecosystem to Ruby developers. Galaaz 2.0 runs Ruby on JRuby and
70
+ talks to standard GNU R—the same R you use with CRAN and Bioconductor—in a separate
71
+ process. A bridge handles requests, results, and typing so you can drive R from Ruby
72
+ (for example calling R functions, loading packages, and working with R objects) without
73
+ giving up multithreaded JRuby for application code.
74
+
75
+ Like RinRuby, rpy2, or reticulate, Galaaz is a cross-language bridge; unlike embedding a
76
+ second interpreter in one VM, using GNU R means compiled R packages and Bioconductor work
77
+ as usual. Large tables can optionally flow through Apache Arrow on the R side when you use
78
+ the helpers described in the project documentation.
79
+
80
+ You need both JRuby and a working GNU R installation in PATH for the bridge to run.
81
+ Build the native gatekeeper after install with: make -C ext/new_bridge all
69
82
  email: rodrigo.a.botafogo@gmail.com
70
83
  executables:
71
84
  - galaaz
72
- - gstudio
85
+ - gbookdown
73
86
  - gknit
74
- - grun
75
87
  - gknit-draft
88
+ - grun
89
+ - gstudio
76
90
  extensions: []
77
91
  extra_rdoc_files: []
78
92
  files:
93
+ - CHANGELOG.md
79
94
  - LICENSE
80
95
  - README.md
81
96
  - Rakefile
82
97
  - bin/galaaz
98
+ - bin/galaaz-bootstrap
99
+ - bin/galaaz-jruby
100
+ - bin/galaaz_jruby_env.inc.sh
101
+ - bin/gbookdown
83
102
  - bin/gknit
84
103
  - bin/gknit-draft
85
104
  - bin/gknit-draft.rb
@@ -88,45 +107,56 @@ files:
88
107
  - bin/gstudio
89
108
  - bin/gstudio_irb.rb
90
109
  - bin/gstudio_pry.rb
110
+ - bin/install-tinytex
111
+ - bin/run_all_rspec
112
+ - bin/run_example
113
+ - bin/run_old_rspec
114
+ - bin/run_rspec
115
+ - bin/run_rspec_subset
116
+ - bin/run_slow_rspec
117
+ - blogs/R-on-Rails-Planning-Document.md
118
+ - blogs/README.md
91
119
  - blogs/galaaz_ggplot/galaaz_ggplot.Rmd
92
- - blogs/galaaz_ggplot/galaaz_ggplot.html
120
+ - blogs/galaaz_ggplot/galaaz_ggplot.log
93
121
  - blogs/galaaz_ggplot/galaaz_ggplot.md
94
- - blogs/galaaz_ggplot/galaaz_ggplot.pdf
122
+ - blogs/galaaz_ggplot/galaaz_ggplot.tex
95
123
  - blogs/galaaz_ggplot/galaaz_ggplot_files/figure-html/midwest_rb.png
96
124
  - blogs/galaaz_ggplot/galaaz_ggplot_files/figure-html/scatter_plot_rb.png
125
+ - blogs/galaaz_ggplot/galaaz_ggplot_files/figure-markdown_github/midwest_rb.png
126
+ - blogs/galaaz_ggplot/galaaz_ggplot_files/figure-markdown_github/scatter_plot_rb.png
97
127
  - blogs/galaaz_ggplot/midwest.Rmd
98
- - blogs/galaaz_ggplot/midwest.html
99
128
  - blogs/galaaz_ggplot/midwest_external_png
100
129
  - blogs/gknit/gknit.Rmd
101
- - blogs/gknit/gknit.html
102
- - blogs/gknit/gknit.pdf
130
+ - blogs/gknit/gknit.md
131
+ - blogs/gknit/gknit_files/figure-html/bubble-1.png
132
+ - blogs/gknit/gknit_files/figure-html/diverging_bar.png
103
133
  - blogs/gknit/lst.rds
104
134
  - blogs/gknit/model.rb
105
135
  - blogs/gknit/stats.bib
136
+ - blogs/manual/include_model_local_repro.Rmd
137
+ - blogs/manual/include_model_local_repro.md
106
138
  - blogs/manual/lst.rds
107
139
  - blogs/manual/manual.Rmd
108
- - blogs/manual/manual.html
140
+ - blogs/manual/manual.log
109
141
  - blogs/manual/manual.md
110
- - blogs/manual/manual.pdf
111
142
  - blogs/manual/manual.tex
112
143
  - blogs/manual/manual_files/figure-html/bubble-1.png
113
144
  - blogs/manual/manual_files/figure-html/diverging_bar.png
114
145
  - blogs/manual/manual_files/figure-latex/bubble-1.png
115
- - blogs/manual/manual_files/figure-latex/diverging_bar.pdf
116
146
  - blogs/manual/model.rb
117
147
  - blogs/nse_dplyr/nse_dplyr.Rmd
118
- - blogs/nse_dplyr/nse_dplyr.html
148
+ - blogs/nse_dplyr/nse_dplyr.log
119
149
  - blogs/nse_dplyr/nse_dplyr.md
120
- - blogs/nse_dplyr/nse_dplyr.pdf
121
150
  - blogs/oh_my/not_so.rb
122
151
  - blogs/oh_my/oh_my.Rmd
123
- - blogs/oh_my/oh_my.html
152
+ - blogs/oh_my/oh_my.log
124
153
  - blogs/oh_my/oh_my.md
154
+ - blogs/oh_my/oh_my.tex
125
155
  - blogs/oh_my/old.Rmd
126
156
  - blogs/ruby_plot/ruby_plot.Rmd
127
- - blogs/ruby_plot/ruby_plot.html
157
+ - blogs/ruby_plot/ruby_plot.log
128
158
  - blogs/ruby_plot/ruby_plot.md
129
- - blogs/ruby_plot/ruby_plot.pdf
159
+ - blogs/ruby_plot/ruby_plot.tex
130
160
  - blogs/ruby_plot/ruby_plot_files/figure-html/dose_len.png
131
161
  - blogs/ruby_plot/ruby_plot_files/figure-html/facet_by_delivery.png
132
162
  - blogs/ruby_plot/ruby_plot_files/figure-html/facet_by_dose.png
@@ -138,6 +168,18 @@ files:
138
168
  - blogs/ruby_plot/ruby_plot_files/figure-html/final_box_plot.png
139
169
  - blogs/ruby_plot/ruby_plot_files/figure-html/final_violin_plot.png
140
170
  - blogs/ruby_plot/ruby_plot_files/figure-html/violin_with_jitter.png
171
+ - blogs/ruby_plot/ruby_plot_files/figure-latex/dose_len.png
172
+ - blogs/ruby_plot/ruby_plot_files/figure-latex/facet_by_delivery.png
173
+ - blogs/ruby_plot/ruby_plot_files/figure-latex/facet_by_dose.png
174
+ - blogs/ruby_plot/ruby_plot_files/figure-latex/facets_by_delivery_color.png
175
+ - blogs/ruby_plot/ruby_plot_files/figure-latex/facets_by_delivery_color2.png
176
+ - blogs/ruby_plot/ruby_plot_files/figure-latex/facets_with_decorations.png
177
+ - blogs/ruby_plot/ruby_plot_files/figure-latex/facets_with_jitter.png
178
+ - blogs/ruby_plot/ruby_plot_files/figure-latex/facets_with_points.png
179
+ - blogs/ruby_plot/ruby_plot_files/figure-latex/final_box_plot.png
180
+ - blogs/ruby_plot/ruby_plot_files/figure-latex/final_violin_plot.png
181
+ - blogs/ruby_plot/ruby_plot_files/figure-latex/violin_with_jitter.png
182
+ - blogs/test/test.Rmd
141
183
  - examples/50Plots_MasterList/Images/midwest-scatterplot.PNG
142
184
  - examples/50Plots_MasterList/ScatterPlot.rb
143
185
  - examples/50Plots_MasterList/scatter_plot.rb
@@ -145,6 +187,13 @@ files:
145
187
  - examples/Bibliography/stats.bib
146
188
  - examples/R/calc.R
147
189
  - examples/R/java_interop.R
190
+ - examples/bioconductor_deseq2_airway/Documentation/DESeq2-airway-walkthrough.md
191
+ - examples/bioconductor_deseq2_airway/bench_galaaz_three_same_process.rb
192
+ - examples/bioconductor_deseq2_airway/bench_r_three_same_process.R
193
+ - examples/bioconductor_deseq2_airway/deseq2_airway_galaaz.rb
194
+ - examples/bioconductor_deseq2_airway/deseq2_airway_galaaz_optimized.rb
195
+ - examples/bioconductor_deseq2_airway/deseq2_airway_minimal.R
196
+ - examples/bioconductor_deseq2_airway/deseq2_airway_pipeline_for_bench.R
148
197
  - examples/islr/all.rb
149
198
  - examples/islr/ch2.spec.rb
150
199
  - examples/islr/ch3.spec.rb
@@ -158,39 +207,31 @@ files:
158
207
  - examples/latex_templates/Test-acm_article/sensys-abstract.cls
159
208
  - examples/latex_templates/Test-acm_article/sigproc.bib
160
209
  - examples/latex_templates/Test-acs_article/Test-acs_article.Rmd
161
- - examples/latex_templates/Test-acs_article/Test-acs_article.pdf
162
210
  - examples/latex_templates/Test-acs_article/acs-Test-acs_article.bib
163
211
  - examples/latex_templates/Test-acs_article/acs-my_output.bib
164
212
  - examples/latex_templates/Test-acs_article/acstest.bib
165
213
  - examples/latex_templates/Test-aea_article/AEA.cls
166
214
  - examples/latex_templates/Test-aea_article/BibFile.bib
167
215
  - examples/latex_templates/Test-aea_article/Test-aea_article.Rmd
168
- - examples/latex_templates/Test-aea_article/Test-aea_article.pdf
169
216
  - examples/latex_templates/Test-aea_article/aea.bst
170
217
  - examples/latex_templates/Test-aea_article/multicol.sty
171
218
  - examples/latex_templates/Test-aea_article/references.bib
172
219
  - examples/latex_templates/Test-aea_article/setspace.sty
173
220
  - examples/latex_templates/Test-amq_article/Test-amq_article.Rmd
174
- - examples/latex_templates/Test-amq_article/Test-amq_article.pdf
175
221
  - examples/latex_templates/Test-amq_article/Test-amq_article.pdfsync
176
- - examples/latex_templates/Test-amq_article/pics/Figure2.pdf
177
222
  - examples/latex_templates/Test-ams_article/Test-ams_article.Rmd
178
223
  - examples/latex_templates/Test-ams_article/amstest.bib
179
224
  - examples/latex_templates/Test-asa_article/Test-asa_article.Rmd
180
- - examples/latex_templates/Test-asa_article/Test-asa_article.pdf
181
225
  - examples/latex_templates/Test-asa_article/agsm.bst
182
226
  - examples/latex_templates/Test-asa_article/bibliography.bib
183
227
  - examples/latex_templates/Test-ieee_article/IEEEtran.bst
184
228
  - examples/latex_templates/Test-ieee_article/IEEEtran.cls
185
229
  - examples/latex_templates/Test-ieee_article/Test-ieee_article.Rmd
186
- - examples/latex_templates/Test-ieee_article/Test-ieee_article.pdf
187
230
  - examples/latex_templates/Test-ieee_article/mybibfile.bib
188
231
  - examples/latex_templates/Test-rjournal_article/RJournal.sty
189
232
  - examples/latex_templates/Test-rjournal_article/RJreferences.bib
190
- - examples/latex_templates/Test-rjournal_article/RJwrapper.pdf
191
233
  - examples/latex_templates/Test-rjournal_article/Test-rjournal_article.Rmd
192
234
  - examples/latex_templates/Test-springer_article/Test-springer_article.Rmd
193
- - examples/latex_templates/Test-springer_article/Test-springer_article.pdf
194
235
  - examples/latex_templates/Test-springer_article/bibliography.bib
195
236
  - examples/latex_templates/Test-springer_article/spbasic.bst
196
237
  - examples/latex_templates/Test-springer_article/spmpsci.bst
@@ -201,19 +242,16 @@ files:
201
242
  - examples/misc/ggplot.rb
202
243
  - examples/misc/moneyball.rb
203
244
  - examples/misc/subsetting.rb
245
+ - examples/multithread_shards_to_r/shards_to_r.rb
204
246
  - 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
247
  - examples/rmarkdown/svm-rmarkdown-article-example/svm-rmarkdown-article-example.Rmd
207
- - examples/rmarkdown/svm-rmarkdown-article-example/svm-rmarkdown-article-example.pdf
208
248
  - examples/rmarkdown/svm-rmarkdown-beamer-example/svm-rmarkdown-beamer-example.Rmd
209
- - examples/rmarkdown/svm-rmarkdown-beamer-example/svm-rmarkdown-beamer-example.pdf
210
249
  - examples/rmarkdown/svm-rmarkdown-cv/svm-rmarkdown-cv.Rmd
211
- - examples/rmarkdown/svm-rmarkdown-cv/svm-rmarkdown-cv.pdf
212
250
  - examples/rmarkdown/svm-rmarkdown-syllabus-example/attend-grade-relationships.csv
213
251
  - examples/rmarkdown/svm-rmarkdown-syllabus-example/svm-rmarkdown-syllabus-example.Rmd
214
- - examples/rmarkdown/svm-rmarkdown-syllabus-example/svm-rmarkdown-syllabus-example.pdf
215
252
  - examples/rmarkdown/svm-xaringan-example/svm-xaringan-example.Rmd
216
253
  - examples/sthda_ggplot/README.md
254
+ - examples/sthda_ggplot/RUN.md
217
255
  - examples/sthda_ggplot/all.rb
218
256
  - examples/sthda_ggplot/one_variable_continuous/density_gg.rb
219
257
  - examples/sthda_ggplot/one_variable_continuous/geom_area.rb
@@ -242,13 +280,21 @@ files:
242
280
  - examples/sthda_ggplot/two_variables_disc_cont/geom_violin.rb
243
281
  - examples/sthda_ggplot/two_variables_disc_disc/geom_jitter.rb
244
282
  - examples/sthda_ggplot/two_variables_error/geom_crossbar.rb
283
+ - ext/new_bridge/Makefile
284
+ - ext/new_bridge/galaaz_gatekeeper_phase0.cpp
285
+ - ext/new_bridge/galaaz_gatekeeper_phase1.cpp
286
+ - lib/R_interface/galaaz_device.R
287
+ - lib/R_interface/include_engine.R
288
+ - lib/R_interface/new_bridge_adapter.rb
245
289
  - lib/R_interface/r.rb
290
+ - lib/R_interface/r_arrow.rb
246
291
  - lib/R_interface/r_libs.R
247
292
  - lib/R_interface/r_methods.rb
248
293
  - lib/R_interface/r_module_s.rb
249
294
  - lib/R_interface/rbinary_operators.rb
250
295
  - lib/R_interface/rclosure.rb
251
296
  - lib/R_interface/rdata_frame.rb
297
+ - lib/R_interface/rdevice.rb
252
298
  - lib/R_interface/rdevices.R
253
299
  - lib/R_interface/renvironment.rb
254
300
  - lib/R_interface/rexpression.rb
@@ -268,17 +314,65 @@ files:
268
314
  - lib/R_interface/runary_operators.rb
269
315
  - lib/R_interface/rvector.rb
270
316
  - lib/galaaz.rb
317
+ - lib/galaaz_jruby.rb
271
318
  - lib/gknit.rb
319
+ - lib/gknit/diagnostics.rb
272
320
  - lib/gknit/draft.rb
273
321
  - lib/gknit/include_engine.rb
274
322
  - lib/gknit/knitr_engine.rb
275
323
  - lib/gknit/rb_engine.rb
276
324
  - lib/gknit/ruby_engine.rb
325
+ - lib/new_bridge.rb
326
+ - lib/new_bridge/bootstrap/windows_bootstrap.rb
327
+ - lib/new_bridge/envelope.rb
328
+ - lib/new_bridge/eval_result.rb
329
+ - lib/new_bridge/framing.rb
330
+ - lib/new_bridge/instance_pool_client.rb
331
+ - lib/new_bridge/r_instance_manager.rb
332
+ - lib/new_bridge/session_client.rb
333
+ - lib/new_bridge/tcp_framed.rb
277
334
  - lib/util/exec_ruby.rb
278
335
  - lib/util/inline_file.rb
336
+ - new_bridge_specs/benchmark_phase5_5_unboxing_spec.rb
337
+ - new_bridge_specs/eval_r_async_spec.rb
338
+ - new_bridge_specs/integration_phase5_1_concurrent_spec.rb
339
+ - new_bridge_specs/integration_phase5_1_eval_spec.rb
340
+ - new_bridge_specs/integration_phase5_1_r_api_spec.rb
341
+ - new_bridge_specs/integration_phase5_1_smoke_spec.rb
342
+ - new_bridge_specs/integration_phase5_2_dataframe_unboxing_spec.rb
343
+ - new_bridge_specs/integration_phase5_2_handle_eval_unboxing_spec.rb
344
+ - new_bridge_specs/integration_phase5_3_callback_args_spec.rb
345
+ - new_bridge_specs/integration_phase5_3_callback_error_spec.rb
346
+ - new_bridge_specs/integration_phase5_3_callback_timeout_spec.rb
347
+ - new_bridge_specs/integration_phase5_3_callbacks_smoke_spec.rb
348
+ - new_bridge_specs/integration_phase5_3_edge_cases_spec.rb
349
+ - new_bridge_specs/integration_phase5_3_nested_spec.rb
350
+ - new_bridge_specs/integration_phase5_4_concurrent_sessions_spec.rb
351
+ - new_bridge_specs/integration_phase5_4_nested_session_callbacks_spec.rb
352
+ - new_bridge_specs/integration_phase5_4_session_routing_spec.rb
353
+ - new_bridge_specs/integration_phase5_5_stress_concurrency_spec.rb
354
+ - new_bridge_specs/integration_phase5_5_unbox_walk_spec.rb
355
+ - new_bridge_specs/phase0_protocol_spec.rb
356
+ - new_bridge_specs/phase1_req_ret_spec.rb
357
+ - new_bridge_specs/phase2_multi_instance_spec.rb
358
+ - new_bridge_specs/phase3_callbacks_spec.rb
359
+ - new_bridge_specs/phase4_2_hardening_spec.rb
360
+ - new_bridge_specs/phase4_3_r_instance_manager_spec.rb
361
+ - new_bridge_specs/phase4_nested_callbacks_spec.rb
279
362
  - r_requires/ggplot.rb
280
363
  - r_requires/knitr.rb
281
364
  - specs/all.rb
365
+ - specs/arrow_from_ruby_batches_spec.rb
366
+ - specs/arrow_semantics_spec.rb
367
+ - specs/bridge_concurrent_spec.rb
368
+ - specs/bridge_nested_spec.rb
369
+ - specs/dataframe_semantics_spec.rb
370
+ - specs/dataframe_single_index_logical_filter_spec.rb
371
+ - specs/dispatch_probe_cache_spec.rb
372
+ - specs/dispatch_probe_error_class_fallback_spec.rb
373
+ - specs/dispatch_probe_fallback_spec.rb
374
+ - specs/environment_semantics_spec.rb
375
+ - specs/field_access_spec.rb
282
376
  - specs/figures/bg.jpeg
283
377
  - specs/figures/bg.png
284
378
  - specs/figures/bg.svg
@@ -292,33 +386,70 @@ files:
292
386
  - specs/figures/width_height_units1.png
293
387
  - specs/figures/width_height_units2.jpeg
294
388
  - specs/figures/width_height_units2.png
295
- - specs/r_dataframe.spec.rb
389
+ - specs/formula_semantics_spec.rb
390
+ - specs/galaaz_util_exec_ruby_spec.rb
391
+ - specs/galaaz_util_inline_file_spec.rb
392
+ - specs/gknit_cli_option_permutation_spec.rb
393
+ - specs/gknit_include_engine_spec.rb
394
+ - specs/gknit_install_timeout_report_spec.rb
395
+ - specs/gknit_internal_error_report_spec.rb
396
+ - specs/gknit_vector_map_output_spec.rb
397
+ - specs/globalenv_guardrail_spec.rb
398
+ - specs/language_expression_semantics_spec.rb
399
+ - specs/list_semantics_spec.rb
400
+ - specs/new_bridge_bulk_dataframe_transfer_spec.rb
401
+ - specs/new_bridge_bulk_vector_transfer_spec.rb
402
+ - specs/new_bridge_callback_timeout_spec.rb
403
+ - specs/new_bridge_eval_r_fallback_spec.rb
404
+ - specs/nil_null_spec.rb
405
+ - specs/object_build_phase2_spec.rb
406
+ - specs/phase1_callback_bridge_spec.rb
407
+ - specs/phase2_gknit_generic_rendering_guardrail_spec.rb
408
+ - specs/phase2_gknit_no_raw_code_leakage_spec.rb
409
+ - specs/phase3_gknit_generic_graphics_capture_spec.rb
410
+ - specs/plot_device_semantics_spec.rb
411
+ - specs/plot_snapshot_semantics_spec.rb
412
+ - specs/protocol_result_spec.rb
413
+ - specs/r_batch_fail_fast_spec.rb
414
+ - specs/r_bridge_bootstrap_spec.rb
296
415
  - specs/r_devices.spec.rb
297
- - specs/r_environment.spec.rb
298
416
  - specs/r_eval.spec.rb
299
- - specs/r_formula.spec.rb
300
417
  - specs/r_function.spec.rb
301
- - specs/r_language.spec.rb
302
- - specs/r_list.spec.rb
418
+ - specs/r_instance_manager_spec.rb
303
419
  - specs/r_list_apply.spec.rb
304
420
  - specs/r_matrix.spec.rb
305
421
  - specs/r_nse.spec.rb
306
- - specs/r_plots.spec.rb
422
+ - specs/r_object_send_dispatch_spec.rb
423
+ - specs/r_vector_comparator_spec.rb
307
424
  - specs/r_vector_creation.spec.rb
308
425
  - specs/r_vector_functions.spec.rb
309
426
  - specs/r_vector_object.spec.rb
310
427
  - specs/r_vector_operators.spec.rb
428
+ - specs/r_vector_structured_scalar_reads_spec.rb
311
429
  - specs/r_vector_subsetting.spec.rb
312
- - specs/ruby_expression.spec.rb
430
+ - specs/range_helper_spec.rb
431
+ - specs/rsupport_scope_spec.rb
432
+ - specs/rsupport_var_name_thread_safety_spec.rb
433
+ - specs/scalar_character_spec.rb
434
+ - specs/scoped_symbol_dsl_refinement_spec.rb
435
+ - specs/session_env_bridge_spec.rb
436
+ - specs/simplecov_bootstrap_spec.rb
437
+ - specs/spec_helper.rb
313
438
  - specs/tmp.rb
439
+ - specs/unboxing_recursion_regression_spec.rb
440
+ - specs/unboxing_spec.rb
441
+ - specs/verify_callbacks.rb
314
442
  - sty/galaaz.sty
315
443
  - version.rb
316
- homepage: http://github.com/rbotafogo/galaaz/wiki
444
+ homepage: https://github.com/rbotafogo/galaaz
317
445
  licenses:
318
446
  - BSD-2-Clause
319
447
  metadata:
448
+ homepage_uri: https://github.com/rbotafogo/galaaz
449
+ source_code_uri: https://github.com/rbotafogo/galaaz
450
+ documentation_uri: https://rbotafogo.github.io/galaaz/
451
+ changelog_uri: https://github.com/rbotafogo/galaaz/blob/galaaz2_0/CHANGELOG.md
320
452
  yard.run: yri
321
- post_install_message:
322
453
  rdoc_options: []
323
454
  require_paths:
324
455
  - lib
@@ -326,15 +457,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
326
457
  requirements:
327
458
  - - ">="
328
459
  - !ruby/object:Gem::Version
329
- version: '0'
460
+ version: '3.1'
330
461
  required_rubygems_version: !ruby/object:Gem::Requirement
331
462
  requirements:
332
463
  - - ">="
333
464
  - !ruby/object:Gem::Version
334
465
  version: '0'
335
466
  requirements: []
336
- rubygems_version: 3.0.3
337
- signing_key:
467
+ rubygems_version: 4.0.3
338
468
  specification_version: 4
339
469
  summary: Tightly coupling Ruby and R
340
470
  test_files: []