The Generalized Greenspun Rule: Any sufficiently complicated platform contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of a functional programming language.
While Ruby provides an ad hoc, informally-specified, bug-ridden, slow implementation of half of higher-order functional programming, it lacks an ad hoc, informally-specified, bug-ridden, slow implementation of half of Monads.
Thus, the Invocation Construction Kit, or “Ick!” Ick provides the tools needed to easily build your own execution abstractions like the “Maybe” monad or the four canonical block evaluators, as well as providing some sugar so you can write things like:
please(sir) { may.i.have.some.more }
Installing
sudo gem install ick