
Dramatis - An actor library for Ruby and Python
Status
Dramatis is at a pretty early stage. Consider it alpha in terms of the development process.
The first release alpha release, 0.1.1, is now available. The Ruby gem can be pulled from rubyforge and the Python distutils package from pypi. Of course, the Git repository is always available.
Links
Downloads:- Git: git://github.com/dramatis/dramatis.git
- Ruby Gem: http://rubyforge.org/projects/dramatis/
- Python package: http://pypi.python.org/pypi/dramatis
IRC: #dramatis on irc.freenode.net
Mail: dramatis at Google Groups
Dramatis Programming
Currently, I don't have a set of HTML docs for Python. There are doc strings in the code which can be accessed via pydoc and the results are functional if not pretty. I looked at pydoc, happydoc, epydoc, and doxygen and wasn't sure what the best practices are. (The mainstream docs are written separate from the code?) Anyway, suggestions/recommendations wanted!
Examples (these links need to be fixed; they'll get you close, but the code browser doesn't interpret directories well; sorry)
- PingPong (after Scala Actors -- A Short Tutorial)
- source:examples/pingpong/actor.rb
- source:examples/pingpong/actor.py
- status: working
- See also the tutorial: Ruby and Python
- Auction (after Scala by Example)
- source:examples/auction/become.rb
- source:examples/auction/become.py
- status: working! uses
actor.becomeandactor.yield/actor.actor_yield
- Telephone/Chinese Whispers Game
- several versions: source:examples/telephone
- status: all but last version working
- Instant Messaging (after Programming Erlang)
- source:examples/im
- status: FOX version works in Ruby 1.8.6 on Linux
- Note: this is a bit of a hack, currently. It does not correctly manage threads to make sure GUI calls only occur on one thread. In progress, which should make it work in Python and other Ruby versions and with different GUI toolkits.
- Fibonacci (after A Java Fork/Join Framework)
- several versions: source:examples/fib
- status: somewhat working
Dramatis Implementation
Languages
- Ruby - Versions
- Python - 2.5 on Linux
Platforms
- Linux
- OS X
Dramatis Platform FAQ
References
Actor Model
Some Ruby Actor Implementations
- Revactor
- Rubinius
Some Actor Languages and Libraries
- Erlang
- Scala
- Io