On Jul 10, 2009, at 1:58 PM, Laurent Sansonetti wrote:

Indeed, raising an exception is very slow for us since we use C++ exceptions, but it's only used in exceptional cases, or in very explicit use cases like returning from a block (the other return statements don't use an exception). Also the new runtime in the upcoming version of Mac OS X seems to be faster.

I'm not sure we are both on the same page yet.

In your examples:

1.times { p 42 }

after the "p 42" there is a return. Perhaps not a return statement but a return. Also, there is no ensure and no way to put an ensure in without a "begin / end" pair.

So, what I'm suggesting is to make:

begin
  foo
  return here
rescue
  dog
end

be the special case.  Not:

1.times { return 18 }

I'm guessing that is what you are doing but I wasn't sure.

Perry

_______________________________________________
MacRuby-devel mailing list
[email protected]
http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel

Reply via email to