The library is written and maintained by Jonathan Sillito. Please report bugs, make suggestions or otherwise get involved by email to [sillito at].


Stage is a Ruby library for a particular approach to concurrent programming. The approach follows the Actors model and is inspired by Erlang's spawn, send and receive primitives. Stage has several interesting features including:

  1. pattern based support for receiving and handling messages using method calls and blocks,
  2. a specialized form of predicate dispatch based on pattern matching on messages that supports overriding and the dynamic addition of alternatives,
  3. support for a simple convention based dispatching of messages and
  4. techniques for extending the predicate dispatch to also consider an actor's state.

You can get it here: ruby-stage-0.0.2.tar.gz

Using the Library

Full library documentation is available in the distribution in the directory ruby-actor/doc/. It is also available online here. The distribution also contains tests in ruby-actor/tests and a couple of examples in ruby-actor/examples. I have also posted several overview articles: