MagLev (software)
MagLev is an alternative implementation of the Ruby programming language built on the GemStone/S virtual machine from GemTalk Systems.
Developer(s) | GemTalk Systems |
---|---|
Initial release | 2008 |
Stable release | 1.2.0 Alpha 4
/ May 17, 2013 |
Repository | |
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 |
Architecture
Maglev runs inside an image like Smalltalk, offering transparent object persistence[2][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], which are scheduled in the VM as green threads.
Ruby Compatibility
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
- GemStoneS 64 bit 3.1.x Documentation, July 3, 2012, retrieved July 29, 2012
References
- https://raw.github.com/MagLev/maglev/master/Licenses/README.txt
- "Programming Guide for GemStone/S 64 Bit Version 1" (PDF), VMware, July 2012, retrieved July 29, 2012
- "MagLev – Object Persistence with Ruby and Smalltalk" (PDF), Bachelor thesis, Hasso Plattner Institute, July 1, 2013, retrieved February 22, 2014
- Phoenix, Evan (October 14, 2011), "Ruby, Concurrency, and You", Engine Yard Blog, retrieved July 29, 2012
External links
- Fernandez, Obie (May 30, 2008), MagLev is Gemstone/S for Ruby, Huge News, retrieved July 29, 2012
- Taft, Darryl K. (June 6, 2008), "MagLev Rocks the Ruby House", eWeek, retrieved July 29, 2012
- Grigorik, Ilya (January 15, 2010), Distributed Ruby with the MagLev VM, retrieved July 29, 2012
- Schuster, Werner (November 15, 2011), "NoSQL OODB with Smalltalk-based Ruby VM: MagLev 1.0 Released", InfoQ, retrieved July 29, 2012
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.