sbcl-0.8.1 released

William Harold Newman <[email protected]> Tue, 24 Jun 2003 09:54:28 -0500
Newsgroups gmane.lisp.steel-bank.announce
Message-ID <[email protected]>
Sbcl-0.8.1 has been released.

The sources and an x86/Linux binary are available on the SourceForge
download page,
  <http://sourceforge.net/project/showfiles.php?group_id=1373>

As you may recall, there were some problems with the 0.8.0 binary
release. They *should* be fixed, but if you encounter any problems
with the 0.8.1 release, they're even less than usually likely to be
your fault, and we're even more than usually interested in hearing
about them on sbcl-help or sbcl-devel.

from the NEWS file in the distribution:
changes in sbcl-0.8.1 relative to sbcl-0.8.0:
  * minor incompatible change: some nonsensical specialized lambda
    lists (used in DEFMETHOD) which were previously ignored now signal
    errors.
  * minor incompatible change: the system is now aware of the types of
    variables in the COMMON-LISP package, and will signal errors for
    most violations of these type constraints (where previously they
    were silently accepted).
  * minor incompatible change: COMPILE-FILE now uses the freedom
    afforded (ANSI 3.2.2.3) to use derived function types for
    functions defined in the same file. This also permits the system
    to warn on static type mismatches and function
    redefinition.  (Currently it does not work with high DEBUG level.)
  * minor incompatible change: VALUES declaration is disabled.
  * When issuing notes, the compiler now signals a condition of type
    SB-EXT:COMPILER-NOTE, and provides an associated MUFFLE-WARNING
    restart for use in user handlers.  It is expected that the
    COMPILER-NOTE condition will eventually become a condition
    supertype to a hierarchy of note types, which will then be
    handleable in a similar fashion. However, at the moment, no such
    note subtypes yet exist. (SB-INT:SIMPLE-COMPILER-NOTE exists,
    but it's an implementation detail, not a classification for the
    purpose above.)
  * Changes in type checking closed the following bugs:
    ** type checking of unused values (192b, 194d, 203);
    ** template selection based on unsafe type assertions (192c, 236);
    ** type checking in branches (194bc).
  * A short form of VALUES type specifier has ANSI meaning (it has
    increased the number of situations when SBCL cannot perform type
    checking).
  * fixed bug in DEFSTRUCT: once again, naming structure slots with
    keywords or constants is permissible.
  * STREAM-READ-SEQUENCE and STREAM-WRITE-SEQUENCE now have methods
    defined on the relevant FUNDAMENTAL-BINARY-{INPUT,OUTPUT}-STREAM
    classes.  (thanks to Antonio Martinez)
  * improved ANSIness in DESCRIBE: The DESCRIBE function no longer
    outputs FRESH-LINE or TERPRI, and no longer converts its stream
    argument to a pretty-print stream. Instead, it leaves any such 
    operations to DESCRIBE-OBJECT methods.
  * bug fix: APROPOS now respects the EXTERNAL-ONLY flag. (reported
    by Teemu Kalvas)
  * bug fix: NIL is now a valid destructuring argument in DEFMACRO
    lambda lists. (thanks to David Lichteblau)
  * bug fix: Defining a generic function with a :METHOD-CLASS being a
    subclass of STANDARD-METHOD no longer causes stack exhaustion.
    (thanks to Gerd Moellmann)
  * fixed bug 246: increased compilation speed of long
    MULTIPLE-VALUE-BIND (and likewise of NTH-VALUE with a constant
    integer argument)
  * a contributed module implementing COMPILER-LET and MACROEXPAND-ALL
    has been included.
  * DEFCONSTANT now throws a condition of type
    SB-EXT:DEFCONSTANT-UNEQL if it is being asked to redefine a
    constant to a non-EQL value; CONTINUE and ABORT restarts
    respectively change and preserve the value. 
  * fixed bug 63: The code walker, part of the implementation of CLOS,
    is now better at handling symbol macros.
  * bug fix: There is no longer an internal implementation type named
    CL:LENGTH. (reported by Raymond Toy)
  * bug fix: In macro-like defining macros/special operators the
    implicit block does not enclose the lambda list.
  * fixed bugs 10 and 43: Bare VALUES, AND, OR and MEMBER symbols (not
    enclosed in parentheses) are not suitable as type specifiers, and
    their use properly signals an error now.
  * bug fix: An argument count mismatch for a type specifier in code
    being compiled no longer causes an unhandled error at compile
    time, but signals a compile-time warning.
  * fixed simple vector readable printing
  * bug fix: DESCRIBE takes more care over whether the class
    precedence list slot of a class is bound before accessing it.
    (reported by Markus Krummenacker)
  * bug fix: FORMATTER can successfully compile pretty-printer format
    strings which use variants of the ~* directive inside.
  * bug fix: SEARCH now applies its TEST predicate to the elements of
    the arguments in the correct order. (thanks to Wolfhard Buss)
  * fixed bug 235b: The compiler uses return types of MAPCAR and friends
    in type inference. (thanks to Robert E. Brown)
  * bug fix: Reading in symbols with an explicit package name of ""
    (e.g. '||::FOO) now works correctly.  (reported by Henrik Motakef)
  * fixed some bugs revealed by Paul Dietz' test suite:
    ** NIL is now allowed as a structure slot name.
    ** Arbitrary numbers, not just REALs, are allowed in certain
       circumstances in LOOP for-as-arithmetic clauses.
    ** Multiple class redefinitions before slot access no longer
       causes a type error.
    ** (SETF FIND-CLASS) now accepts NIL as an argument to remove the
       association between the name and a class.
    ** Generic functions with non-standard method-combination and over
       five methods all of which return constants no longer return NIL
       after the first few invocations. (thanks to Gerd Moellmann)
    ** CALL-NEXT-METHOD with no arguments now passes the original
       values of the arguments, even in the presence of assignment.
    ** Functions [N]SUBST*, LAST, NRECONC, [N]SUBLIS may return any
       object.
    ** DISASSEMBLE works with closures and funcallable instances.
    ** ADD-METHOD now returns the generic function, not the new method.
    ** FIND-METHOD signals an error if the lengths of the specializers
       is incompatible with the generic function, even if the ERRORP
       argument is true.
    ** TYPE-OF returns recognizeable subtypes of all built-in-types of
       which its argument is a member.
    ** DEFCLASS only redefines the class named by its class-name
       argument if that name is the proper name of the class;
       otherwise, it creates a new class.
    ** SLOT-UNBOUND now correctly initalizes the CELL-ERROR-NAME slot
       of the UNBOUND-SLOT condition to the name of the slot.
    ** (SETF (AREF bv 0) ...) did not work for bit vectors.
    ** SLOT-UNBOUND and SLOT-MISSING now have their return values
       treated by SLOT-BOUNDP, SLOT-VALUE, (SETF SLOT-VALUE) and
       SLOT-MAKUNBOUND in the specified fashion.

-- 
William Harold Newman <[email protected]>
Saying that taste is just personal preference is a good way to prevent
disputes. The trouble is, it's not true. You feel this when you start
to design things. -- <http://www.paulgraham.com/taste.html>
PGP key fingerprint 85 CE 1C BA 79 8D 51 8C  B9 25 FB EE E0 C3 E5 7C


-------------------------------------------------------
This SF.Net email is sponsored by: INetU
Attention Web Developers & Consultants: Become An INetU Hosting Partner.
Refer Dedicated Servers. We Manage Them. You Get 10% Monthly Commission!
INetU Dedicated Managed Hosting http://www.inetu.net/partner/index.php