A bit of both. The way they author and the commenters approach this rubs me wrong, because my long C++ and Common Lisp experience - both languages with a standard and multiple competing implementations - taught me that
any correct read of the standard is valid, and you can't make assumptions that are narrower than what the standard says.
The approach I presented is a valid implementation of the quoted/referenced documentation, and the approach itself is done frequently in algorithms when optimizing for speed, and when perception of randomness is sufficient - this commonly shows up in gamedev, and sometimes in statistics.
So in short, I'm defending GPT-4 by suggesting it's taking a language lawyer approach to the problem space, not assuming things beyond the letter of the spec. As for why am I doing it in the first place, it's because I'm biased in at least four ways: 1) I like GPT-4, 2) I believe it's doing a subset of what we call thinking, 3) I hate bad takes - which I believe this article is, and 4) I'm a sucker for showing off on the Internet.
The approach I presented is a valid implementation of the quoted/referenced documentation, and the approach itself is done frequently in algorithms when optimizing for speed, and when perception of randomness is sufficient - this commonly shows up in gamedev, and sometimes in statistics.
So in short, I'm defending GPT-4 by suggesting it's taking a language lawyer approach to the problem space, not assuming things beyond the letter of the spec. As for why am I doing it in the first place, it's because I'm biased in at least four ways: 1) I like GPT-4, 2) I believe it's doing a subset of what we call thinking, 3) I hate bad takes - which I believe this article is, and 4) I'm a sucker for showing off on the Internet.