4 ms·
The papers[1] is where is the meat is. > Ownership and Reference Counting [...] We propose Pony-ORCA, a fully concurrent protocol for garbage collection in the
by BenoitP 11y ago
The papers[1] is where is the meat is.
> Ownership and Reference Counting [...] We propose Pony-ORCA, a fully concurrent protocol for garbage collection in the actor paradigm
> with shared memory [...] introduces a new form of write uniqueness
> a dedicated actor for the detection of (cyclic) garbage
So, Erlang + shared state? Rust + GC + green threads?
I'm very happy there is activity in this space; I feel like there a whole class of massively online realtime applications just waiting to happen.
5k users first person shooter anyone?
[1] https://github.com/ponylang/ponylang.github.io/tree/master/papers https://github.com/ponylang/ponylang.github.io/tree/master/p...
- steveklabnik 11y ago> Rust + GC + green threads? I haven't used Pony much yet, but when I first saw it, this was my first connection. In some, but not all, ways, it is like what Rust used to be at a certain moment in its history. The languages have different goals, so it's not like I think this means Rust is better or something.
- Matthias247 11y agoNo, I don't think the similarity is big. Pony is all the way about asynchronous/nonblocking messaging. Rust with green threads was favoring synchronous/blocking calls, just like Go, which probably also suits the ownership model better. So Pony might be better compared to Erlang with a strong type system and without a blocking receive method than to Rust or Go.
- steveklabnik 11y agoYeah, I mean, this is why comparing languages solely based on feature lists is a bad idea; it's also about things like idioms. It's more like, "in some ways, Rust was trying to be similar to Erlang, and in some ways, Pony is trying to be similar to Erlang, so in some ways, Pony and Rust are kinda similar." Emphasis on the 'kinda'. (And I'm thinking about Rust _pre_ ownership model, here. And Rust does have non-blocking IO, just not in the standard library. It's not imcompatible with ownership.)