[squeak-dev] [ANN] Erlang-style Actors for Squeak

henry henry at callistohouse.club
Mon Feb 19 16:55:33 UTC 2018


I am not familiar with Erlang. Does it make sense to extend your Actors to multi-image with Raven. Please load Raven and consider the tests in OperationalTestCase.

Sent from ProtonMail Mobile

On Mon, Feb 19, 2018 at 10:23, Tony Garnock-Jones <tonyg at leastfixedpoint.com> wrote:

> Hi all, About a year ago I accidentally a small Erlang-style Actors implementation for Squeak, based on subclassing Process, using Message for, er, messages, and using Promise for RPC. It draws on my experience of Erlang programming in a few ways: it has links and monitors for between-actor failure signalling; it has library actors representing sockets; it has a simple tracing facility. There's crude and no doubt heavily problematic support for basic Morphic interaction. Over the past couple of weeks I've been dusting it off, fleshing it out, and documenting it. (Hence some of the stuff I've been trying out wrt Promises.) It's available at http://squeaksource.com/Actors.html. Installation instructions, documentation and tutorials can be found at https://tonyg.github.io/squeak-actors/ (I spent rather too much time writing documentation.) It's by no means as ambitious as Squeak-E or Henry's Raven - it only deals with single-image in-image messaging between actors, and doesn't have the E-style ability to refer to objects within a vat. Instead it follows Erlang in having references denote actors (i.e. vats, roughly), rather than anything more fine-grained. Next steps could be: - a Workspace that was actor aware, i.e. each Workspace an actor. - better Supervisors. - tools for visualizing the current constellation of actors, perhaps based on Ned Konz's Connectors? - an ActorEventTrace subclass that is able to draw message interaction diagrams as a Morph. - a screencast of building an IRC client maybe? Cheers, Tony PS. I did try to port it to Pharo. The first obstacle was lack of class Promise - fairly easily overcome. The second, worse obstacle was weird failures and incompatibilities in Socket support. I gave up at that point. PPS. I'd love to see it running on Cuis.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20180219/4c02cdc2/attachment.html>


More information about the Squeak-dev mailing list