|
|
|
|
|
by dom96
3102 days ago
|
|
Disclaimer: I'm a core Nim dev. To be honest I am unsure what Pony provides that Nim doesn't. Perhaps I just haven't looked closely enough at it. One thing I do know is that from my years of using Nim I never had any trouble with parallelism. There are no green threads, but there is a solid thread pool implementation[1] and a mechanism that ensures memory isn't shared between threads without a lock or a channel (GC safety)[2]. Maybe you could give me a TL;DR of what Pony does better? :) 1 - https://nim-lang.org/docs/threadpool.html 2 - https://nim-lang.org/docs/manual.html#threads-gc-safety |
|
Quick read: https://tutorial.ponylang.org/types/actors.html
I think one could implement a similar system in Nim using the primitives that you posted, plus some kind of channel, but:
1. Such a system is not included in the standard library (?)
2. Even if a package containing such a system outside the stdlib were available, it would not receive the same application and usage by the Nim community, as Pony actors will in the Pony community
3. So, Pony is better suited to foster a community for highly concurrent programming