MagLev (software)

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
MagLev
MagLev logo.gif
Developer(s)GemTalk Systems
Initial release2008; 12 years ago (2008)
Stable release
1.2.0 Alpha 4 / May 17, 2013 (2013-05-17)
Repository Edit this at Wikidata
Written inSmalltalk, Ruby
Operating systemCross-platform: Solaris, AIX, Linux, Mac OS X
PlatformGemStone/S
TypeRuby programming language interpreter
LicenseMIT, GPL, others[1]
Websitemaglev.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][failed verification][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]

  • GemStoneS 64 bit 3.1.x Documentation, July 3, 2012, retrieved July 29, 2012

References[edit]

  1. ^ https://raw.github.com/MagLev/maglev/master/Licenses/README.txt
  2. ^ "Programming Guide for GemStone/S 64 Bit Version 1" (PDF), VMware, July 2012, retrieved July 29, 2012
  3. ^ "MagLev – Object Persistence with Ruby and Smalltalk" (PDF), 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]