Just Launched: You can now import projects and releases from Google Code onto SourceForge
We are excited to release new functionality to enable a 1-click import from Google Code onto the Allura platform on SourceForge. You can import tickets, wikis, source, releases, and more with a few simple steps. Read More
From: Tobias C. Rittweiler <tcr@fr...> - 2005-08-15 17:10:55
Trying out the tip in footnote #6 of the 20th chapter of Seibel's PCL,
I came across the following, how should I call it, quirk of SBCL:
Subsequent runs of
(let ((*random-state* (make-random-state nil)))
are described to always return the same number. Unlike CLISP which
behaves as alleged, typing the above form into SBCL's REPL multiple
times in a row, returns a new random number everytime it's run, however.
In #lisp, Christophe Rhodes commented on this issue as follows:
<Xof> tcr: the compiler probably uses RANDOM in a hash table
somewhere while compiling your successive runs
<Xof> tcr: try multiple runs of
`(let ((x (let ((*random-state* (make-random-state nil)))
(y (let ((*random-state* (make-random-state nil)))
(= x y))'
<Xof> tcr: the behaviour you describe is counterintuitive, though --
I'd probably take a patch that made a *compiler-random-state*
object for use while compiling stuff or otherwise doing
Maybe someone wants to take this over. In any case, just that this
issue has been raised and is saved in the archive.