Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/arbox/ruby-interoperability

Ruby Mixture with other Programming Languages
https://github.com/arbox/ruby-interoperability

c inter-process-communication java r ruby rubydatascience rubyml rubynlp rust

Last synced: about 2 months ago
JSON representation

Ruby Mixture with other Programming Languages

Awesome Lists containing this project

README

        

[[RubyNLP](https://github.com/arbox/nlp-with-ruby) |
[RubyDataScience](https://github.com/arbox/data-science-with-ruby) |
[RubyML](https://github.com/arbox/machine-learning-with-ruby)]

**The list is under heavy construction!**

# Ruby communicates with other Languages

Ruby Mixture with other Programming Languages

- [Extending Ruby](#extending-ruby)
* [C/C++](#c/c)
* [GNU Octave](#gnu-octave)
* [Go](#go)
* [Java](#java)
* [JavaScript](#javascript)
* [Julia](#julia)
* [Nim](#nim)
* [Python](#python)
* [R](#r)
* [Rust](#rust)
- [Embedding Ruby](#embedding-ruby)
- [Inter-process Communication](#inter-process-communication)
- [Crosscompilation](#crosscompilation)
- [License](#license)

## Extending Ruby

### C/C++

- https://github.com/unak/fiddley
- [The Definitive Guide to Ruby's C API](https://silverhammermba.github.io/emberb/) -
Modern Reference and Tutorial on Embedding and Extending Ruby using C programming language.
- [Ruby Bindings via FFI & Extensions via MKMF](https://medium.com/stuart-engineering/ruby-bindings-and-extensions-91c794eb9acd)
- https://www.amberbit.com/blog/2014/6/12/calling-c-cpp-from-ruby/
- [rice](https://github.com/jasonroelofs/rice) -
Ruby Interface for C++ Extensions.
- _Creating Ruby native extensions_ by [Vinicius Stock](https://github.com/vinistock)
[[post](https://dev.to/vinistock/creating-ruby-native-extensions-kg1)]
- https://blog.jez.io/linkers-ruby-c-exts/

### GNU Octave

- [octave-ruby](https://github.com/daikini/octave-ruby) -
Ruby interface to the Octave interpreted language. [[dep: GNU Octave](#octave)]

### Go

- http://rubykaigi.org/2015/presentations/mmasaki/
- https://c7.se/go-and-ruby-ffi/

### Java

- [rjb](https://github.com/arton/rjb) -
Ruby-Java bridge for the CRuby implementation.

### JavaScript

- https://github.com/rails/execjs
- https://github.com/cowboyd/libv8
- https://readysteadycode.com/howto-execute-javascript-code-with-ruby

### Julia

- https://github.com/mrkn/ruby-julia

### Nim

- http://bootstrap.me.uk/programming-languages/2017/07/09/nim-for-the-discerning-rubyist.html

### Python

- https://github.com/mrkn/pycall.rb
- https://github.com/raineszm/rubypython
- https://github.com/steeve/rupy
- https://github.com/whymirror/unholy

- [RbCall](https://github.com/yohm/rb_call) - calling Ruby from Python processes.

### R

- https://github.com/mrkn/rcall
- [rinruby](https://github.com/clbustos/rinruby) -
integrates the R interpreter in Ruby, making R's statistical routines and
graphics available within Ruby. R
- https://github.com/alexgutteridge/rsruby
- https://github.com/clbustos/Rserve-Ruby-client
- https://github.com/jtprince/rserve-simpler

### Rust

- http://undefined-reference.org/2016/05/14/writing-rubygem-in-rust.html
- https://github.com/steveklabnik/rust_example
- https://forums.sketchup.com/t/native-ruby-extension-in-rust/26705
- https://github.com/d-unseductable/ruru
- https://usehelix.com/
- http://rubykaigi.org/2015/presentations/wycats_chancancode/
- https://deliveroo.engineering/2019/02/14/moving-from-ruby-to-rust.html
- https://samphippen.com/minimum-viable-gem-free-calling-rust-from-ruby-example/

### WebAssembly

- https://github.com/wasmerio/ruby-ext-wasm/

## Embedding Ruby

- [mruby](https://github.com/mruby/mruby) -
Lightweight embeddable Ruby implementation.

## Inter-process Communication

- []() -
xxx.

## Crosscompilation

- https://github.com/opal/opal

## License

[![Creative Commons Zero 1.0](http://mirrors.creativecommons.org/presskit/buttons/80x15/svg/cc-zero.svg)](https://creativecommons.org/publicdomain/zero/1.0/) `Ruby Interoperability` by [Andrei Beliankou](https://github.com/arbox) and
[Contributors](https://github.com/arbox/ruby-interoperability/graphs/contributors).

To the extent possible under law, the person who associated CC0 with
`Ruby Interoperability` has waived all copyright and related or neighboring rights
to `Ruby Interoperability`.

You should have received a copy of the CC0 legalcode along with this
work. If not, see .