Return_bang 1.1 Released

home :: https://github.com/drbrain/return_bang
rdoc :: http://docs.seattlerb.org/return_bang
bugs :: https://github.com/drbrain/return_bang/issues

return_bang implements non-local exits for methods. As a bonus, you
also get
exception handling that ignores standard Ruby’s inflexible begin;
rescue;
ensure; end syntax.

Use return_bang to exit back to a processing loop from deeply nested
code, or
just to confound your enemies and your friends! What could possibly
go
wrong?

=== 1.1 / 2012-04-01

  • Minor enhancements
    • Added raise! to raise exceptions
    • Added rescue! to rescue exceptions raised
    • Added ensure! to always execute a block of code to perform cleanup

On Mon, Apr 02, 2012 at 05:10:50AM +0900, Eric H. wrote:

wrong?

=== 1.1 / 2012-04-01

  • Minor enhancements
    • Added raise! to raise exceptions
    • Added rescue! to rescue exceptions raised
    • Added ensure! to always execute a block of code to perform cleanup

Your projects looks like an delimited continuation implementation of
shift/reset operators
suggested by [1].

[1]: Olivier Danvy and Andre Filinski (1990). “Abstracting Control”.
LISP and Functional Programming: 151–160. doi:10.1145/91556.91622. ISBN
089791368X

On Sun, Apr 1, 2012 at 10:43 PM, Ray S. [email protected] wrote:

Your projects looks like an delimited continuation implementation of
shift/reset operators
suggested by [1].

[1]: Olivier Danvy and Andre Filinski (1990). “Abstracting Control”. LISP
and Functional Programming: 151160. doi:10.1145/91556.91622. ISBN
089791368X

Was that also an April Fool’s Day joke?

On Apr 1, 2012, at 11:48 PM, Tony A. wrote:

On Sun, Apr 1, 2012 at 10:43 PM, Ray S. [email protected] wrote:

Your projects looks like an delimited continuation implementation of
shift/reset operators

suggested by [1].

[1]: Olivier Danvy and Andre Filinski (1990). “Abstracting Control”. LISP and
Functional Programming: 151–160. doi:10.1145/91556.91622. ISBN 089791368X

Was that also an April Fool’s Day joke?

Maybe next year I can add more continuations to return_bang :slight_smile: