Profile cover photo
Profile photo
CMUCL: a high-performance, free Common Lisp implementation
CMUCL: a high-performance, free Common Lisp implementation

CMUCL's posts

Post has attachment
It's October and just in time for the CMUCL 21b release. To see what's changed between 21a and 21b, see

Binaries are coming soon. Unfortunately, no ppc binaries are available at this time because the ppc machine is down.

Post has attachment
The 2015-11 snapshot has been released.  See the release notes at for more information.

Post has attachment
CMUCL 21a is released.  Binaries are coming soon.  For a list of the changes see

The 2015-07 snapshot has been released.  This fixes a few issues and, importantly, slime works out of the box again.  No need to (require :unix) to run slime anymore.

Also, thanks to Fred Gilham, we should have FreeBSD binaries once again.  He's also made a 20f release.  These will get uploaded soon. Thanks Fred!

It's been a while since the last snapshot, but 2015-06 has just been released.  The changes are fairly minor. I've been occupied with other things of late, some related to cmucl and some not.

Post has attachment has been slowing transitioning services to use gitlab.  The transition is pretty much done, and cmucl is now officially at  The ticket system and wiki is still using, but we hope to migrate that to gitlab as well.

We want to thank the new admin's for all of the their hard work in getting this done and for helping out with the transition!

CMUCL 20f released

Find out more at

With the 2014-09 snapshot, all ports of cmucl should now have consistent results for the special functions. Previously we depended on libm to most of the special functions. Not any more. We now use fdlibm to provide the special functions.  This means most functions (but not all) are now accurate to < 1 ulp. Hurray for accurate and consistent special functions!

SSE2 has been supported by CMUCL since around 2008 and SSE2 was introduced in the Pentium 4 in 2001. It's now time to drop support for x87.

I suspect x87 is rarely, if ever, used anymore since CMUCL will automatically detect SSE2 and use that if your CPU supports. I rarely test x87 except to see that it starts when a snapshot is made.

Thus, in the near future x87 support will be removed from CMUCL. This will reduce the tarballs by half, and we'll be able to remove a fair amount of code and simplify some of the existing code as well. We'll also be announcing this on the mailing lists shortly.

If you need x87 support speak up!  No guarantees that we'll keep x87 support, but knowing that it's important to you will help.

Post has attachment
A little while ago I was having a discussion with another open source project basically about the baleful effects of benchmarks and how they traded speed for worse (sometimes MUCH)  worse accuracy for basic trig functions.

This prompted me (with some prodding from Carl) to look at CMUCL's own implementation of trig functions.  They were decent, but now they are much improved with accuracy equivalent to Sun's fdlibm library. And they're faster than what was available  before and are now consistent across all supported OSes and architectures.

Coincidentally, Bradley Lucier contacted me about the implementation of some of the complex-valued special functions.  These are particularly tricky to get right, especially along the branch cuts.  After some discussion, we have come to an agreement, and CMUCL and Gambit Scheme now have perhaps the best implementation of complex-valued special functions.  The basic rule is to ignore what the CLHS text says, and derive the results directly from the definition of the functions, being careful to handle signed-zeroes carefully.

While these seem esoteric and insignificant changes, I can assure you  that the changes in that other open source project broke some important applications (maps of the world were barely recognizable), wasting developer time and increasing maintenance.  We don't want that to happen with CMUCL!
Wait while more posts are being loaded