public
Description: Rubinius, the Ruby VM
Homepage: http://rubini.us
Clone URL: git://github.com/evanphx/rubinius.git
brixen (author)
Wed Jul 16 19:26:30 -0700 2008
commit  b0a7ffa7b6aa1f50d8c6bc295537a7f6abfdb332
tree    c492d83836710d664f1a8b9028dbcdc42ac6afc8
parent  2fe0593f6a9722ee312f6f258e19fcd588e4a10c
name age message
file .autotest Tue Mar 18 16:25:21 -0700 2008 simplified autotest fixture/shared mapping [zenspider]
file .gitignore Mon Jul 07 22:07:16 -0700 2008 added lib/bin to ignore list, sorted others [zenspider]
file .gitmodules Fri May 09 17:44:46 -0700 2008 Added rubyspecs as a submodule at spec/frozen. [brixen]
file AUTHORS Sat Sep 29 01:12:28 -0700 2007 Update AUTHORS [kevinclark]
file CONTRIBUTORS Mon May 05 16:19:32 -0700 2008 Add CONTRIBUTORS file [evanphx]
file INSTALL Mon Jun 30 10:34:14 -0700 2008 Adding libssl-dev dependency for Ubuntu to the ... [febuiles]
file LICENSE Wed Feb 27 10:23:15 -0800 2008 Correct typos in LICENSE file, spotted by raggi [wilson]
file Makefile Tue Nov 13 17:32:37 -0800 2007 Don't complain if the config.mk is missing [evanphx]
file README Tue Jun 10 10:48:39 -0700 2008 Another README revision [wilson]
file README-C++ Mon Jul 14 15:48:59 -0700 2008 Revise README [evanphx]
file README-DEVELOPERS Fri Jun 13 09:17:34 -0700 2008 RMI extension compatibility fixes. [nexcastellan]
file Rakefile Thu Jul 03 15:07:27 -0700 2008 Updated doco and added -d option to ci.rb per e... [zenspider]
file THANKS Wed May 30 14:44:05 -0700 2007 blah [System User]
directory benchmark/ Wed Jul 02 07:41:09 -0700 2008 Corrected bm_stringio.rb to reset pos in #each_... [vvs]
directory bin/ Mon Jun 09 15:31:33 -0700 2008 Improve running in dev mode. Use bin/rbx now. [evanphx]
directory doc/ Sat Jun 21 13:42:42 -0700 2008 Added document for FFI in the vm doc. [pluskid]
directory gems/ Thu Jun 26 19:50:51 -0700 2008 Fix fastthread gem so that fastthread.rb can be... [drbrain]
directory kernel/ Tue Jul 15 12:40:00 -0700 2008 Doc'd core/io.rb and core/symbol.rb [seydar]
directory lib/ Tue Jul 15 16:49:59 -0700 2008 made SizedQueue thread safe and more readable a... [dgtized]
directory mspec/ Wed Jul 16 19:53:50 -0700 2008 Updated MSpec source to 1c3ee1c8. [brixen]
directory rakelib/ Thu Jul 10 10:52:55 -0700 2008 Add rake git:really_safe_push. [nexcastellan]
directory runtime/ Fri Jun 06 00:30:31 -0700 2008 Modify loader to look for #{$:.first}/bin/<c... [evanphx]
directory shotgun/ Tue Jul 15 10:24:16 -0700 2008 another day, another commit. trashed some bitrot [seydar]
directory spec/ Wed Jul 16 19:54:07 -0700 2008 Converted shared specs to new RSpec-compatible ... [brixen]
directory stdlib/ Tue Jul 15 11:55:22 -0700 2008 Move resolv.rb from stdlib to lib. [nexcastellan]
directory test/ Wed Jun 18 15:09:34 -0700 2008 Import RubyGems r1780 (pre 1.2) [drbrain]
directory tools/ Mon Jul 14 16:59:39 -0700 2008 use rake instead [zenspider]
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.