Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Converted README to Markdown #1007

Closed
wants to merge 3 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
115 changes: 0 additions & 115 deletions README

This file was deleted.

86 changes: 86 additions & 0 deletions README.mdown
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
# What is Rubinius #

Rubinius is an implementation of the Ruby programming language. Rubinius includes a bytecode virtual machine, parser, bytecode compiler, garbage collector, JIT native machine code compiler, and Ruby core and standard libraries.

Rubinius currently is compatible with Ruby version 1.8.7. Support for Ruby version 1.9.2 is coming soon.


# License #

Rubinius uses the BSD license. See LICENSE for details.


# Installing Rubinius #

Rubinius runs on Mac OS X and many Unix/Linux operating systems. Support for Microsoft Windows is coming soon.

For more information about building and running Rubinius, run 'rake docs'.

To install Rubinius, use the following steps, and ensure you have MRI 1.8.7+, rubygems, rake, and git installed

git clone git://github.com/rubinius/rubinius.git
cd rubinius
./configure --prefix=/path/to/install/dir
rake install

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

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

rbx gem install <gem_name>

After installing Rubinius, you can access the built-in documentation at any time by running `rbx docs`.

## Rubinius with RVM ##

You may wish to use the Ruby enVironment Manager (RVM) project to install Rubinius. For the most updated documentation for RVM, please visit [RVM website](https://rvm.beginrescueend.com).

Be sure that RVM has been installed properly and is loaded as a function as is explained in detail on the [basics page](https://rvm.beginrescueend.com/rvm/basics/).

Assuming all Rubinius dependencies have been preinstalled on the system, you may now install Rubinius either latest or head as follows,

rvm install rbx # Installs latest release (defaulted to install head)
rvm install rbx-head # Installs Rubinius master branch from github

Once installed,

rvm use rbx # Selects Rubinius into the current shell session.

If you wish to make Rubinius the default interpreter when you open new shells,

rvm use rbx --default

In order to view the dependency list to preinstall for rbx type

rvm notes

For more information on working with rvm please visit the [RVM website](https://rvm.beginrescueend.com/)

# Version 1.1 #

Rubinius has been under development as a public open-source project since November 2006. Rubinius development is sponsored by Engine Yard, Inc. and assisted by the generous work of over 100 contributors.

At version 1.1, Rubinius is significantly feature-complete. It is expected that your Ruby code will run correctly. Additionally, many MRI C extensions are expected to work, as long as they do not depend on MRI-specific object internals or the MRI interpreter internals.

With the JIT, Rubinius performance is quite good, sometimes faster than MRI and sometimes slower. Rubinius generally executes Ruby code very fast as compared to MRI. However, since the majority of the Ruby core library is also implemented in Ruby rather than C as it is in MRI, code that depends heavily on Array, Hash, String, etc. may run slower in Rubinius right now. As the JIT improves, overall performance of your code under Rubinius will improve.


# Goals #

* Thread safety. Rubinius intends to be thread-safe so you could embed more than one interpreter in a single application.

* Clean, readable code that is easy for users to understand and extend.

* Reliable, rock-solid code. Valgrind is used to help verify correctness.

* Bring modern research in virtual machines, garbage collectors, and compilers to the Ruby programming language.


# Tickets #

Please file tickets for bugs or problems that you encounter. The issue tracker is: http://github.com/rubinius/rubinius/issues. Run `rake docs` for more details.


# Contributing #

The Rubinius team welcomes contributions. Run 'rake docs' and see the "Contributing" page.