news: no changes on the surface, a few internal changes. New API: support for
"actor channels" a thin wrapper around shared channels
let t = createTopology()
let sink1 = allocActorChannel[int]()
let sink2 = allocActorChannel[int]()
# declare output sinks
let
news: featuring super-experimental support for [actor
topologies](https://github.com/evacchi/nimoy#topologies)
import future, nimoy, nimoy/topologies
#
# source ~> map1 ~> fanIn ~> map3 ~> broadcast ~> sink1
#+> map2 ~^ +> sink2
#
news: an improved (i.e., slightly less dumb) executor strategy, and a few new
examples, such as [an async, multithreaded
"loader"](https://github.com/evacchi/nimoy/blob/master/examples/loader.nim)
Very interested to see where this goes. Basically what andrea and dom said,
once it's matured a bit.
That's great, I hope this becomes a viable alternative to handle multithreaded
applications in Nim!
I think it's too early right now, it really is a handful of lines of code; but
I probably will if there is enough interest.
RIght now, actors run on a thread pool (not Nim's _threadpool_) that can be
configured.
The execution strategy and migration of an actor across threads is pretty dumb,
Nice! I'm curious how it performs, do you have any plans for creating some
benchmarks?
As a newcomer, I decided to try and write a small actor library as an excuse to
learn Nim. It does need more work, especially on the scheduler, but I'd love
feedback from the community. This is definitely something I might want to use
in the future.