Actors for Squeak Smalltalk
The Smalltalk-80 concurrency model is, at heart, threads with mutable shared state plus locks, semaphores, mutexes and so on.
This library adds an Erlang-style Actor model to Squeak.
The following code snippet creates an actor, and invokes one of its methods via synchronous (Promise-based) RPC:
h := HelloWorldActor spawn.
(h greet: 'Actor world') wait. "produces 'Hello, Actor world!'"
Quickstart
- Download a recent Squeak image and VM.
- Update to at least trunk update number 17768.
(Installer squeaksource project: 'Actors') install: 'ConfigurationOfActors'
- (optional) Run the tests in package
Actors-Tests
.
Features
- Erlang-inspired model, including
- links and Monitors
- a tracing facility
- Actor-based socket support
- Smalltalk-inspired extensions and conveniences
- Actor behaviors are plain old objects
- Synchronous and asynchronous RPC to actors, using promises
- rudimentary Morphic GUI support