In association with heise online

03 December 2012, 17:29

Ruby 2.0-preview2 arrives while Refinements are being refined

  • Twitter
  • Facebook
  • submit to slashdot
  • StumbleUpon
  • submit to reddit

Ruby development icon The second preview of Ruby 2.0 has been released, just under a month after the arrival of the first preview. As the development moves forward, hard decisions are being made. One of the headline features of Ruby 2.0 is Refinements, a language enhancement designed to solve the problem of monkey-patching. Monkey-patching is a process where the Ruby classes are mutated to take on different properties; this has been used by many Ruby libraries.

Refinements are designed to localise the types of changes monkey-patching was used for and make it more managable. But, discussions after a detailed analysis of the proposed Refinements by jRuby creator Charles Nutter, have lead to a rethink taking place over the extent of the Refinements implementation.

Yukihiro "Matz" Matsumoto, the original creator of Ruby, announced at the weekend that "Since there still remain undefined corner case behavior in refinements, and the time is running out, I decided not to introduce full refinement for Ruby 2.0". Refinements will now be limited to file scope among other changes. This should avoid the likely performance problems that wider scopes for Refinements would have caused. The issue is, though, still under discussion and no final decisions have been taken on how the far the changes on refinements will go.

For those testing the preview releases, the source code is available to download as tar.bz2Direct download, tar.gzDirect download and zipDirect download formats; MD5 and SHA256 hashes are available in the announcement.


Print Version | Send by email | Permalink:

  • July's Community Calendar

The H Open

The H Security

The H Developer

The H Internet Toolkit