On Thursday, 10 July 2014 at 11:03:20 UTC, logicchains wrote:
Are there any tutorials or blog posts out there demonstrating
how to use this? I think posts along the lines of "This is a
CSP/message passing program in Go/Erlang. This is the same
program translated into D; look how concise and faster it is!"
could attract a lot of interest.
There are no detailed blog posts and I believe only few
developers are really well proficient with this vibe.d
functionality. Some relevant docs:
http://vibed.org/api/vibe.core.core/
http://vibed.org/api/vibe.core.concurrency/
http://vibed.org/api/vibe.core.task/
Reading the code in the pull request [1], for instance, makes
me wonder how to tell if `spawn()` is spawning a thread or a
fibre. Can a tid refer to a fibre? If so, why's it called a
thread ID, and how do I tell if a particular tid refers to a
thread or fibre? It would be great to have these kinds of
questions answered in an easily available reference (for
instance, the documentation for std.concurrency, which
currently doesn't even mention fibres or vibe.d).
1. https://github.com/D-Programming-Language/phobos/pull/1910
Problem is that this is most simple PR to simply add
message-passing support for fibers. Adding some advanced
schedulers with worker thread pool can be expected to be done on
top but.. This small PR has been rotting there for ages with
pretty much zero attention but from few interested persons.
I can't blame Sonke or anyone else for not wanting to waste his
time on pushing more stuff upstream considering how miserable
contribution experience is right now. We can't really expect
anything else to improve why it stays that bad - Andrei has
mentioned that during his keynote but nothing has been ever done
to improve the situation.