Yukihiro Matsumoto
10/15/2007 3:18:00 PM
Hi,
In message "Re: ruby wish-list"
on Mon, 15 Oct 2007 23:23:06 +0900, Roger Pack <rogerpack2005@gmail.com> writes:
|1) the ability to rescue arrays (or some way to rescue multiple classes
|without pain), like this:
|
|all_socket_interrupts_array = [SocketError, Errno::EHOSTUNREACH,
|Errno::ENETUNREACH]
|
|begin
| # stuff
|rescue all_socket_interrupts # non ugly, yet precise!
|
|end
Now you know you can.
|2) a GC that is 'user-definable' (run after this definable threshold,
|this often), and (asidedbly), a GC that can run in its own (native)
|thread so it doesn't pause execution of normal threads.
I'd rather prefer smarter collector, but it's possible.
GC on its own thread is a different story. Interaction between
collector and mutator may hinder the performance.
|3) an ensure block that's uninterruptible, a la:
|
|begin
| # do stuff
|rescue
| # rescue stuff
|ensure_uninterruptible # (or call it ensure_critical)
| # do stuff which is guaranteed to get run, and not interrupted.
|end
It's not as simple as you've expected. First we need to define how
"uninterruptible" section work.
|4) the optional ability to have it display the whole backtrace on
|uncaught exceptions (and also for all existing threads).
Simple code like:
begin
...
rescue => e
puts e.backtrace
end
would do.
matz.