public
Fork of evanphx/rubinius
Description: Rubinius, the Ruby VM
Homepage: http://rubini.us
Clone URL: git://github.com/ReinH/rubinius.git
Search Repo:
name age message
folder .autotest Tue Mar 18 16:25:21 -0700 2008 simplified autotest fixture/shared mapping [Ryan Davis]
folder .gitignore Wed Jun 11 16:37:48 -0700 2008 Ignore rdoc, add title to rdoc [drbrain]
folder .gitmodules Fri May 09 17:44:46 -0700 2008 Added rubyspecs as a submodule at spec/frozen. [brixen]
folder AUTHORS
folder CONTRIBUTORS
folder INSTALL Mon Jun 09 06:49:42 -0700 2008 OS X fink section points to a URL which no long... [nexcastellan]
folder LICENSE
folder Makefile Tue Nov 13 17:32:37 -0800 2007 Don't complain if the config.mk is missing [evanphx]
folder README Tue Jun 10 10:48:39 -0700 2008 Another README revision [wilson]
folder README-DEVELOPERS Fri Jun 13 09:17:34 -0700 2008 RMI extension compatibility fixes. [nexcastellan]
folder Rakefile Wed Jun 11 18:20:13 -0700 2008 More mkmf.rb fixes, install the header files. f... [evanphx]
folder THANKS Wed May 30 14:44:05 -0700 2007 blah [System User]
folder benchmark/ Thu May 22 15:31:18 -0700 2008 Alioth benchmarks: add save task, and improve o... [William Morgan]
folder bin/ Mon Jun 09 15:31:33 -0700 2008 Improve running in dev mode. Use bin/rbx now. [evanphx]
folder doc/ Sun Jun 15 16:38:50 -0700 2008 Fixes urls for FFI doc. [pluskid]
folder gems/ Tue Jun 10 15:46:12 -0700 2008 Add stub fastthread gem and architecture for ad... [drbrain]
folder kernel/ Tue Jun 17 00:13:48 -0700 2008 Fix some typo in ffi related files. [pluskid]
folder lib/ Wed Jun 18 07:38:16 -0700 2008 Fixing behavior for IPSocket#getaddress [febuiles]
folder mspec/ Sun Jun 08 13:11:57 -0700 2008 Updated MSpec source to 6dc519b3. [brixen]
folder rakelib/ Wed Jun 11 18:52:52 -0700 2008 *sigh* I suck. Fixed scoping bug [Ryan Davis]
folder runtime/ Fri Jun 06 00:30:31 -0700 2008 Modify loader to look for #{$:.first}/bin/<c... [evanphx]
folder shotgun/ Tue Jun 17 15:30:03 -0700 2008 Add rb_singleton_class method for hpricot compa... [nexcastellan]
folder spec/ Tue Jun 17 13:36:12 -0700 2008 Syntax error, change equal?() to equal() [nexcastellan]
folder stdlib/ Thu Jun 05 18:49:18 -0700 2008 Fix rbconfig and rubygems paths [evanphx]
folder test/ Mon Jun 09 16:05:43 -0700 2008 Update to RubyGems r1761. [drbrain]
folder tools/ Sat May 17 14:47:03 -0700 2008 Added basic usage doco [Ryan Davis]
README
1. What is Rubinius

Rubinius is an execution environment for the Ruby programming language.
It is comprised of three major pieces: a compiler, a 'kernel' (otherwise
known as the Ruby Core Library), and a virtual machine.
The project's goal is to create a top-of-the-line Ruby implementation.

2. Running Rubinius

Refer to the INSTALL file for instructions on getting and building Rubinius.

To disable backtrace colorization in Rubinius set the RBX environment variable
to rbx.colorize_backtraces=no.

3. Status

Rubinius is under heavy development, and currently supports the core Ruby
classes and kernel methods. The majority of the existing Ruby libraries
should run without modification.  If your MRI 1.8.6-compatible code does not
run under Rubinius, please open a bug ticket.
As Rubinius becomes more and more compatible with Ruby 1.8, the development
effort is shifting toward performance, rather than completeness.

4. Goals

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

* Reliable, rock-solid infrastructure. Rubinius is Valgrind clean.

* Bring modern techniques to the Ruby runtime. Currently we are up to
  roughly 1986 in terms of modernity, but the date creeps forward daily.

* Support for the best ideas in concurrency, whatever those happen to be.

5. Volunteering to Help

The Rubinius team welcomes contributions, bug reports, test cases, and monetary
support. One possible way to help is implement Ruby library classes. Visit
http://rubinius.lighthouseapp.com for documentation on how to begin hacking
Rubinius.

6. Architecture

While most of the Rubinius features are implemented in Ruby, the VM itself
is written in C++. This is likely to continue to be the case in the coming
months, partly to ease the integration of LLVM into the Rubinius system.

The compiler, assembler, and bytecode generators are all written in Ruby, and
can be found under the ./lib/compiler directory.