>=Arthur Flatau
> The point is that the call to the time function is buried somewhere
> inside the call to make-random-state (when given the argument t).
> There is no way to XOR or otherwise modify the number that is used to
> create a new random state.
Right. But then there's no real need to, either.
> This is unlike, C, for instance where you
> can XOR the time with the machine's IP address (or similar schemes) to
> initial the random number generator. The only portable way to
> initialize the random number generator is with a call to make-random-state.
The definition is arguably a "Good Thing" because it completely hides all
the implementation details, such as whether it's based on time or
radioactive decay (see http://www.fourmilab.ch/hotbits/), whether the
"state" is only a fixnum or something more robust, etc.
Sanitary practice is to always consider all inscrutable system-supplied
generators simply as somewhat suspect noise sources anyway, which you can
use to implement suitable randomness for your application.
> Wow, it is not often that I come up with advantages of C over Common
Lisp. :-)
(Philosophically, having to rely on ANY non-open-source generator isn't an
advantage, no matter how many random features it advertises! If you want
real control, code your own...<;-)
It's all pretty academic. The probability of two programs initializing
within exactly the same window is probably less than lightning striking the
user.