| ▲ | BlanketLogic 4 days ago |
| It is based on actors and "reference capabilities". These two blogs[1,2], could provide nice introduction. 1. https://blog.jtfmumm.com//2016/03/06/safely-sharing-data-pon...
2. https://bluishcoder.co.nz/2017/07/31/reference_capabilities_... |
|
| ▲ | gpderetta 4 days ago | parent [-] |
| That's quite interesting, but it doesn't answer the question: Would the python program running on an interpreter written in pony deadlock or not? |
| |
| ▲ | gf000 4 days ago | parent [-] | | It would livelock | | |
| ▲ | gpderetta 4 days ago | parent [-] | | I wouldn't call it a livelock, because I wouldn't expect the runtime to be doing any (useless) work on behalf of the program. Still, trading deadlocks for livelocks is a net negative as they are harder to identify and diagnose. | | |
| ▲ | senderista 4 days ago | parent [-] | | Paxos necessarily livelocks and still seems useful. More generically, all nonblocking algorithms which are only “obstruction-free” can livelock, but techniques like randomized backoff can make them quite reliable in practice (just like Paxos/Raft). |
|
|
|