The Rubinius Language Platform
C Ruby C++ Shell Makefile Assembly Other
Latest commit 19d087b Feb 23, 2018
Permalink
Failed to load latest commit information.
.bundle Updated .bundle/config. Jan 16, 2015
.github Fix a typo in the GitHub issue template (#3750) Jul 10, 2017
bin Removed rubygems override env vars when running bin/mspec. Aug 23, 2013
build Cripple Bundler concurrency on Rubinius. Feb 7, 2018
core Fix inline cache. Closes #3783. Feb 9, 2018
debian debian build update for rubinius-2.3 Oct 22, 2014
library Add profiler minimum sample config for reporting. Feb 8, 2018
machine Fixed variable reference. Feb 23, 2018
mspec Drop Enumerable:: namespace for Enumerator Nov 5, 2017
rakelib Start emitting diagnostics as JSON. Feb 1, 2018
scripts Don't remove codedb cache. Jan 20, 2018
spec Fix inline cache. Closes #3783. Feb 9, 2018
tools Changed references from vm/external_libs to vendor. Jul 2, 2011
.autotest added RUBY env for autotest Mar 12, 2008
.editorconfig Added configuration file for EditorConfig. Sep 21, 2014
.gdbinit Check CallFrames directly from their VM Aug 8, 2010
.gitignore Removed GlobalCache. Dec 10, 2017
.travis.yml Fix assumptions about file locations during build. Dec 3, 2017
AUTHORS Merge branch 'rand-fix' of https://github.com/fengb/rubinius into fen… Apr 6, 2016
BSD_LICENSE Break up old/new license & clarify what we use Jan 3, 2016
LICENSE Break up old/new license & clarify what we use Jan 3, 2016
README Update README. Dec 10, 2017
README.md Update README. Dec 10, 2017
Rakefile Fix looping build. Dec 4, 2017
SECURITY Add basic instructions for security reports Jul 8, 2013
THANKS THANKS copy edits Aug 11, 2011
build.sh Move config.rb to build/config. Dec 2, 2017
configure Cripple Bundler concurrency on Rubinius. Feb 7, 2018
gems_list.txt Cripple Bundler concurrency on Rubinius. Feb 7, 2018
security.pub Add basic instructions for security reports Jul 8, 2013

README.md

Gitter Build Status

The Rubinius Language Platform

Rubinius is a modern language platform that supports a number of programming languages.

Rubinius includes a bytecode virtual machine, generational garbage collector, and just-in-time (JIT) native machine code compiler. Rubinius provides concurrency support via native OS threads with no global interpreter lock.

Rubinius runs on Mac OS X and many Unix/Linux operating systems. Microsoft Windows is not yet supported.

Code of Conduct

Participation in the Rubinius project is governed by the Rubinius Code of Conduct.

The Ruby Programming Language

Many popular Ruby applications, like Rails, run on Rubinius, which aims to be compatible with Ruby version 2.3.1.

Rubinius includes a Ruby parser, Ruby bytecode compiler, Ruby core library, and C-API compatibility for native C extensions. The Ruby core library is written almost entirely in Ruby. The Ruby bytecode compiler and other tools, such as the debugger, are also written in Ruby. Rubinius provides the standard Ruby libraries, with the following exceptions:

  • Continuation
  • Ripper
  • TracePoint
  • Tracer

The following Ruby features are not supported on Rubinius:

  • Refinements
  • $SAFE levels

License

All source code in this repository is subject to the terms of the Mozilla Public License, version 2.0 unless stated otherwise. A copy of this license can be found the file "LICENSE" or at https://www.mozilla.org/MPL/2.0/.

Contributions made prior to January 3rd, 2016 are licensed under the old BSD 3-clause license. A copy of this license can be found in the file "BSD_LICENSE".

In the event a directory contains a "LICENSE", "LICENSE.txt" or "COPYING" file the license specified in said file applies to the contents of said directory and all sub directories, overwriting the licenses specified above.

Installing Rubinius from Source

To install Rubinius, use the following steps:

  1. Ensure that MRI 2.0+, rubygems, rake, git and LLVM are installed
  2. git clone git://github.com/rubinius/rubinius.git
  3. cd rubinius
  4. ./build.sh --prefix=/path/to/install/dir

When the install process finishes, follow the directions printed to the terminal to add the Rubinius executable (bin) directory to your PATH.

Using RubyGems

Rubinius comes with RubyGems built-in. To install a gem, run the following:

$ rbx -S gem install <gem_name>

Documentation

The Rubinius documentation is the Rubinius book.

Issues & Support

Please file tickets for bugs or problems.

For additional help, visit the Rubinius Gitter chat room.

Contributing

The Rubinius team welcomes contributions. For more information, read the contributing file.