This justification should be in the proposal honestly. This is great motivation as to why we cannot go 'all in' on ranges.
I am definitely in support of the proposal.
I believe the Swift standard library should offer the base protocols that have the ability to cover most use cases of randomness when extended. I also think that there should be a single RandomNumberGenerator
provided for people to use as the default. This generator should not be able to seeded. Extra generators and distributions etcetera should be provided in a third-party module that may eventually become a sanctioned first-party non-standard library.
Luckily, my beliefs line up with the proposal as written, and I therefore have no blocking objections.
The only thing I would say is that Random.default
is not a good name for the standard library provided generator. I think it should be DefaultRandomNumberGenerator
or SystemRandomNumberGenerator
or similar, with the property called shared
.