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.