Original date:2020-01-16 10:59:57 Edited by: GreenEuphorian Subject: Message-passing framework and 'actor' objects


could someone please comment on the potentialities of OpenEuphoria or Phix for the implementation of a message-passing framework (and 'actor' objects)? In an 'actor' model the objects send and receive messages to one another, triggering actions (each message essentially being a method call on the receiving object). I know, the OE/Phix framework is quite different from all this, but still I am curious about the possibility to implement some sort of actor model or at least emulate some of its functionality in OE/Phix. The idea came to me from the Io programming language ( where the only entities are 'actor' objects whose structures are not fixed and can change quite radically at runtime. They reminded me of Euphoria sequences, whose structure is equally dynamic and can freely change at runtime. Io's objects are esentially hashtables containing slots (each slot being a key/value pair, where the value associated with a key can be a function and thus serve as a method of the object). Since our sequences can already be used to implement OOP and dictionaries too are already available, I was thinking that perhaps it could be possible to make our sequences behave like actor objects. I believe the crucial step would be to implement a message-passing framework to let the objects interact with one another. And of course, objects would also have to be made to operate as semi-autonomous entities (although interacting with each other). Again, I know that this is all very far from the current OE/Phix paradigm, but optimistically I imagine that just like basic OOP was introduced in Euphoria, although not officially, a step further could be taken to also implement actors, perhaps without even too much effort. I believe it all boils down to implementing a message passing infrastructure. Hypothetically, how much effort would it take to implement such a framework? Would it be necessary to modify the language itself or could this be implemented simply as an add-on to the language, as an external library?

I would really be grateful if you guys from both the OE and the Phix user communities shared your thoughts about this idea.



Not Categorized, Please Help


Quick Links

User menu

Not signed in.

Misc Menu