HOME

TheInfoList



OR:

MagLev is an alternative implementation of the
Ruby Ruby is a pinkish-red-to-blood-red-colored gemstone, a variety of the mineral corundum ( aluminium oxide). Ruby is one of the most popular traditional jewelry gems and is very durable. Other varieties of gem-quality corundum are called sapph ...
programming language built on the GemStone/S virtual machine from GemTalk Systems. Much of Maglev was set out to be written in Ruby as much as possible, resulting in some collaboration with the Rubinius project. As of the first beta release, the project runs RubyGems 1.3.5 natively, with support for C and
Smalltalk Smalltalk is a purely object oriented programming language (OOP) that was originally created in the 1970s for educational use, specifically for constructionist learning, but later found use in business. It was created at Xerox PARC by Learni ...
extensions. MagLev has a distinct VM architecture that allows it to share code and data between runtimes and execution cycles through a Ruby API.


Architecture

Maglev runs inside an image like
Smalltalk Smalltalk is a purely object oriented programming language (OOP) that was originally created in the 1970s for educational use, specifically for constructionist learning, but later found use in business. It was created at Xerox PARC by Learni ...
, offering transparent object persistence to Ruby objects and classes. Object persistence is based on
ACID An acid is a molecule or ion capable of either donating a proton (i.e. Hydron, hydrogen cation, H+), known as a Brønsted–Lowry acid–base theory, Brønsted–Lowry acid, or forming a covalent bond with an electron pair, known as a Lewis ...
transactions that allow multiple running instances to see a shared object graph. Maglev uses a process-based concurrency model, mapping Ruby threads to Smalltalk Processes, which are scheduled in the VM as
green threads In computer programming, a green thread is a thread that is scheduled by a runtime library or virtual machine (VM) instead of natively by the underlying operating system (OS). Green threads emulate multithreaded environments without relying on a ...
. Using MagLev should yield performance increases when using Ruby, along with allowing Ruby processes over multiple machines to use the same objects at the same time.


Installation

MagLev is installed with RVM, using the following code snippets, copied directly from the maglev GitHub project. rvm install maglev rvm use maglev The status can be checked using $ maglev status


Ruby compatibility

Maglev targets Ruby 1.8.7 and runs a significant number of
RubySpec The RubySpec project aimed to write a complete executable specification for the Ruby programming language. This project contains specs that describe Ruby language syntax and standard library classes. The project contains two main components: * th ...
. It supports several C extensions including Nokogiri, JSON and
bcrypt bcrypt is a password-hashing function designed by Niels Provos and David Mazières. It is based on the Blowfish (cipher), Blowfish cipher and presented at USENIX in 1999. Besides incorporating a salt (cryptography), salt to protect against rain ...
.


Gemstone/S resources

*


References


External links

* * * * Free software programmed in Ruby {{free-software-stub