Last time I study Erlang and I found a useful thing that, imho, can significant simplify the newlisp asynchronous tasks when we need to fork and to use semaphores/shared memory.
I think it would be cool to have some engine over shared memory when one process can issue
Code: Select all
(send-message Pid message)
and other process can issue
Code: Select all
(receive-message) -> (Sender_Pid Message)
Probably, some blocking/non-blocking options etc. may be applicable here
The Erlang's version of this is much more powerful, but highly related to Erlang features.
But I think, that even this level of messaging will be more user-friendly and human-error free than concurent access to shared memory.