MagLev (software)

From Wikipedia, the free encyclopedia
  (Redirected from MagLev (Ruby interpreter))
Jump to: navigation, search
MagLev
MagLev logo.gif
Developer(s) GemTalk Systems
Initial release 2008; 6 years ago (2008)
Stable release 1.2.0 Alpha 4 / May 17, 2013 (2013-05-17)
Written in Smalltalk, Ruby
Operating system Cross-platform: Solaris, AIX, Linux, Mac OS X
Platform GemStone/S
Type Ruby programming language interpreter
License MIT, GPL, others[1]
Website maglev.github.com

MagLev is an alternative implementation of the Ruby programming language built on the GemStone/S virtual machine from GemTalk Systems.

Architecture[edit]

MagLev runs inside an image like Smalltalk, offering transparent object persistence[2][not in citation given][3] to Ruby objects and classes. Object persistence is based on ACID 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[4][self-published source?], which are scheduled in the VM as green threads.

Ruby Compatibility[edit]

MagLev targets Ruby 1.8.7 and runs a significant number of RubySpec. It supports several C extensions including Nokogiri, JSON and bcrypt.

Gemstone/S Resources[edit]

References[edit]

  1. ^ https://raw.github.com/MagLev/maglev/master/Licenses/README.txt
  2. ^ "Programming Guide for GemStone/S 64 Bit Version 1", VMware, July 2012, retrieved July 29, 2012 
  3. ^ "MagLev – Object Persistence with Ruby and Smalltalk", Bachelor thesis, Hasso Plattner Institute, July 1, 2013, retrieved February 22, 2014 
  4. ^ Phoenix, Evan (October 14, 2011), "Ruby, Concurrency, and You", Engine Yard Blog, retrieved July 29, 2012 

External links[edit]