19601, "vasslitvinov", "What to name the RandomStream class and interface?", "2022-04-05T20:05:29Z"
We would like PCGRandomStream to be THE random number generator in the standard library. As such, what should it be called?
Also, what will we call the random generator interface when interfaces reach production quality? Footnote: if I am writing a library that needs a random generator, however does not care which one to use, it would be generic over the type that implements the interface.
Python: the type name is Random, see random — Generate pseudo-random numbers — Python 3.10.4 documentation
Rust: has some random number generators and also a trait/interface. All RNGs implement the RngCore trait, as a consequence of which the Rng extension trait is automatically implemented. Secure RNGs may additionally implement the CryptoRng trait. Some generators are OsRng, ThreadRng, StdRng, SmallRng.
random for the class name is acceptable to several core devs.