5 ms·
I’ve been following Pony for a couple of years, and fear they’ve lost momentum and drive, which doesn’t bode well for the future of the language. My major grief
by smallstepforman 6y ago
I’ve been following Pony for a couple of years, and fear they’ve lost momentum and drive, which doesn’t bode well for the future of the language. My major grief is no support for “locked” (or synchronous) patterns, ie. when actor#A needs to modify actor#B and have the change accessable in the same Actor#A::Behaviour. In my own Actor framework (C++), I’m forced to implement a LockToWorkThread() pattern where I prohibit Actor#B from being scheduled on other work threads while locked. This way 2 Actors can interact from an “atomic” Behaviour() function. However, C++ doesnt protect against sharing pointers so I’m always on eggshells.
- ivanbakel 6y agoIt seems like your major grief is at serious odds with the design principles of the language itself. It's very difficult to introduce any kind of synchronous behaviour that doesn't also allow deadlocks. "Locking" an actor to prevent it from processing messages would very trivially allow for deadlocks - and since Pony intends to avoid them by design, the language can't ever allow for it. Why are promises not fit for your purpose?
- spooneybarger 6y agoVerona has been exploring the idea of "behavior-oriented programming" as compared to "actor-oriented" like we have in Pony. Verona's model allows for something along the lines of what is being suggested. How that works out in the long run, we'll see. It's still very early days for Verona. A number of folks working on Pony also are associated with Verona and vice-versa so there's a cross-polination of ideas going on. https://github.com/microsoft/verona https://github.com/microsoft/verona In particular see: https://github.com/microsoft/verona/blob/master/docs/explore.md#concurrent-mutation-and-memory-safety https://github.com/microsoft/verona/blob/master/docs/explore... and https://github.com/microsoft/verona/blob/master/docs/explore.md#concurrent-ownership https://github.com/microsoft/verona/blob/master/docs/explore...
- spooneybarger 6y agoI can't speak for everyone ever associated with Pony, but there are several of us who continue to work on it and haven't lost our drive.