There are two main portable implementations:
- MT19937 is a portable version of CMUCL's random number generator. It's faster than jmt.lisp, but significantly slower than the built-in random function on all implementations it's been tested with. It's in the public domain.
- jmt.lisp is another implementation of the Mersenne Twister. It's slower than MT19937, but it's still a good implementation. In particular, MT19937 may have a few bugs from the move to portability. It's under the LGPL.