I’ve gotten frustrated with the state of the Rust documentation from time to time and have expressed my views here when I felt it appropriate. I’ve also filed a number of issues with the Book’s Github repository in an effort to try help. I think Rust is important technology but it’s complex and not easy to explain. This is not a language that would admit to something as simple as R5RS for Scheme. So it’s a big job and it’s clearly not done yet.

I am continuing to experiment with Rust for future use by porting a few utilities from a financial software suite I’ve developed. The most complex of these is a report generator, which was particularly difficult to get working in Rust. But having done so (and having discovered parts of the language not to use gratuitously in the course of doing this, a very valuable lesson), I wanted to try the threading support and this application was an ideal candidate. Running in a single thread, report generation takes too long, and there were obvious opportunities for concurrency. The point of this message is to note that I found the material on concurrency in v2 of the Book to be quite good and with that and the std modules documentation I was able to implement a multi-threaded version of my application fairly easily, resulting in a very worthwhile performance improvement.