Version 0.8.5 of SBCL has been released, and can be found on the
SourceForge downloads page.
If you do threading, note that (as in the 5th entry quoted from NEWS
below) you might want to try some threading/GC patches which didn't
make it into this release.
from the NEWS file in the distribution:
changes in sbcl-0.8.5 relative to sbcl-0.8.4:
* New code in contrib/sb-introspect (still probably not entirely
stable yet) provides some support for smart Lisp development
environments like SLIME.
* The conditions signalled for errors occurring when loading .fasl
files have been systematized (inheriting from SB-EXT:INVALID-FASL)
in a way which should help ASDF recover gracefully.
* The REQUIRE/PROVIDE behavior of *MODULE-PROVIDER-FUNCTIONS*
stuff has been cleaned up. If you code contrib/ stuff, this might
affect you, and you can look at contrib/README, contrib/STANDARDS,
and/or the 0.8.4.27 diff to check.
* In full calls the compiler now does not generate checks for declared
argument types for all arguments.
* various threading fixes
** and some experimental patches which didn't make it into
the main tree for this release, but which are shipped in
contrib/experimental-thread.patch as a possible fix for some
failures (deadlock, spinning...) in GC-intensive multithreaded
* fixed PPC build problem (source code incompatibility of different
library versions): added offsetof() hackery which attempts to divine
where glibc maintainers put uc_mcontext today
* fixed bug 282: compiler does not trust type assertions while passing
arguments to a full call.
* fixed bug 261: compiler allows NIL or "no value" to be accepted for
&OPTIONAL VALUES type parameter.
* fix bug 214: algorithm for noting rejected templates is now more
similar to that of template seletion. (also reported by rydis on
* fixed bug 141b: printing backquoted information readably and prettily
inserts a space where necessary.
* bug fix: obviously wrong type specifiers such as (FIXNUM 1) or
(CHARACTER 10) are now reported as errors, rather than propagated
as unknown types. (reported by piso on #lisp)
* bug fix: the :IF-EXISTS argument to OPEN now behaves correctly
with values NIL and :ERROR. (thanks to Milan Zamazal)
* fixed bug 191c: CLOS now does proper keyword argument checking as
described in CLHS 7.6.5 and 18.104.22.168.
* bug fix: LOOP forms using NIL as a for-as-arithmetic counter no
longer raise an error; further, using a list as a for-as-arithmetic
counter now raises a meaningful error.
* fixed bug 213a: even fairly unreasonable CONS type specifiers are
now understood by sequence creation functions such as MAKE-SEQUENCE
* fixed bug 46k: READ-BYTE now signals an error when asked to read from
* compiler enhancement: SIGNUM is now better able to derive the type
of its result.
* type declarations inside WITH-SLOTS are checked. (reported by
salex on #lisp)
* fixed some bugs revealed by Paul Dietz' test suite:
** incorrect optimization of TRUNCATE for a positive first
argument and negative second.
** compiler failure in let-convertion during flushing dead code.
** compiler failure while deriving type of TRUNCATE on an
interval, containing 0.
** ASH of a negative bignum by a negative bignum count now returns
-1, not 0.
** intersection of CONS types now canonicalizes properly, fixing
inconsistencies in SUBTYPEP.
William Harold Newman <william.newman@...>
We were bedevilled by the daemons of diagrammatic overdesign. My God,
three little boxes drawn on the back of a napkin, Game, Frame, and
Throw, and it was still too complicated and just plain wrong.
-- Robert C. Martin, _Agile Software Development_, p. 72
PGP key fingerprint 85 CE 1C BA 79 8D 51 8C B9 25 FB EE E0 C3 E5 7C