5 ms·
Thanks for sharing! I have a question coming from Erlang-world eg how exactly did you implement concurrency? Erlang VM has a counter for each VM instruction an
by mapcars 8y ago
Thanks for sharing!
I have a question coming from Erlang-world eg how exactly did you implement concurrency? Erlang VM has a counter for each VM instruction and does process switch based on that, did you implement something similar? Is this preemptive concurrency like the one in Erlang?
And a second question - will it work in Pharo? :)
- tonyg 8y agoClass Actor inherits from class Process, so Squeak's underlying process-switching machinery is in effect, complete with priorities, nonpreemption, any use of semaphores etc. It could in principle work in Pharo, and I did try to port it to Pharo - almost all of the necessary infrastructure is the same - but I remember that at the time there were two problems. The first is that Pharo doesn't have an integrated Promise implementation. The second is that I couldn't get Pharo's sockets to behave as reliably as Squeak's. I don't remember details - missing error reporting in certain situations perhaps? - but I'd be very very pleased if a Pharo expert were to have a try at doing a port.