DevHeads.net

return_bang 1.1 Released

home :: <a href="https://github.com/drbrain/return_bang" title="https://github.com/drbrain/return_bang">https://github.com/drbrain/return_bang</a>
rdoc :: <a href="http://docs.seattlerb.org/return_bang" title="http://docs.seattlerb.org/return_bang">http://docs.seattlerb.org/return_bang</a>
bugs :: <a href="https://github.com/drbrain/return_bang/issues" title="https://github.com/drbrain/return_bang/issues">https://github.com/drbrain/return_bang/issues</a>

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

Comments

Re: return_bang 1.1 Released

By Ray Song at 04/02/2012 - 01:43

On Mon, Apr 02, 2012 at 05:10:50AM +0900, Eric Hodel 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

Re: return_bang 1.1 Released

By Tony Arcieri at 04/02/2012 - 02:48

Was that also an April Fool's Day joke?

Re: return_bang 1.1 Released

By Eric Hodel at 04/02/2012 - 15:33

On Apr 1, 2012, at 11:48 PM, Tony Arcieri wrote:
Maybe next year I can add more continuations to return_bang ☺