This post originated from an RSS feed registered with Ruby Buzz
by Red Handed.
Original Post: Syndey, the New People's Choice Ruby
Feed Title: RedHanded
Feed URL: http://redhanded.hobix.com/index.xml
Feed Description: sneaking Ruby through the system
Evan Webb has done this neat thing where he’s branched Ruby 1.8 to add a pile of features that have been tinkling in our ears for years. Look at this list and tell me you haven’t personally tugged on Matz’ apron for this stuff.
Native OS Threads (Thread::OS). These do not replace the normal Threads, and allow for MxN thread setups (see test/sydney/test_osthread.rb#test_mxn).
Backtrace and Frame objects. Exceptions now provide a programmatic way of inspecting the backtrace and relevant frames.
Global Error Handler. A closure which can handle any errors which reach the top (think better IDE integration). [Ed. Note: I was just wishing for this today.]
Native Binding.of_caller
Frame metadata Allows you to attach any data to a frame object which can then be retrieved a number of ways (Kernel.caller, Exception#backtrace, etc)
More event hooks.
GC.on_gc. Run when the garbage collection is about to run. (test_gc.rb)
Ruby::State#on_switch. Run when a new Thread is about to be switched to (test_state.rb)
Fulfillment of RCR 279, user defined % expansion.(test_precexpansion.rb)
Stupendous work. What a great way to try these features out to get an idea of how these changes affect the performance of the interpreter.
I’m compiling on FreeBSD and ./configure --enable-pthread was the right course. Bleeding edge, dangerous stuff, and all that . The release announcement is on Evan’s blog. First development release available as a tarball.