The Rubinius Language Platform
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 Populate INCFLAGS rather than CFLAGS at configure time May 11, 2018
core Load paths with trailing separator. Fixes #3797. May 28, 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 marking finalizer of ManagedFinalizer. Jul 15, 2018
mspec Drop Enumerable:: namespace for Enumerator Nov 5, 2017
rakelib Populate INCFLAGS rather than CFLAGS at configure time May 11, 2018
scripts Build Travis macOS binary with llvm6. May 6, 2018
spec Load paths with trailing separator. Fixes #3797. May 28, 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 Revert to non-libc++. Mar 2, 2018
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 In README and README.md, refer to rubinius-book/getting_rubinius.html Apr 8, 2018
README.md In README and README.md, refer to rubinius-book/getting_rubinius.html Apr 8, 2018
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 temp fix for cleaning up after gems with C-exts [skip ci] Feb 27, 2018
configure Update configure to use incflags. May 11, 2018
gems_list.txt Hide some more core library methods. May 5, 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

Please see https://book.rubinius.com/manuscript/getting_rubinius.html for a more complete guide to 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.