This is post number 1,000! 🎉
Rust's ownership and borrowing system involves the use of references to operate on borrowed data, and the type system distinguishes two different fundamental reference types. In code they are spelled
&mut Tis commonly known as a "mutable reference" to data of type
T. By juxtaposition,
&Tis then an "immutable reference" or "const reference" to
T. These names are fine and reasonably intuitive for Rust beginners, but this article lays out the motivation for preferring the names "shared reference" and "exclusive reference" as you grow beyond the beginner stage and get into library design and some more advanced aspects of the language.
Rust needs a better non-cryptographic prng for its rand crate. This is an explanation of how I went about designing one. I hope it will not only demonstrate that the resulting algorithm is worthy of consideration, but be useable as a guide for others who want to build a PRNG.
Source: Designing a new PRNG, an article by Tom Kaitchuck.