========================== C M U C L  20 f =============================

[In Progress]

The CMUCL project is pleased to announce the release of CMUCL 20f.
This is a major release which contains numerous enhancements and
bug fixes from the 20c release.

CMUCL is a free, high performance implementation of the Common Lisp
programming language which runs on most major Unix platforms. It
mainly conforms to the ANSI Common Lisp standard. CMUCL provides a
sophisticated native code compiler; a powerful foreign function
interface; an implementation of CLOS, the Common Lisp Object System,
which includes multi-methods and a meta-object protocol; a source-level
debugger and code profiler; and an Emacs-like editor implemented in
Common Lisp. CMUCL is maintained by a team of volunteers collaborating
over the Internet, and is mostly in the public domain.

New in this release:

  * Known issues:

  * Feature enhancements
    * Trig functions are signficantly faster.
    * Accuracy of trig functions improved. (Previously, they could be
      off by one or two ulp.)

  * Changes
    * Update to ASDF 3.0.3.
    * When *PRINT-CASE* is :DOWNCASE, integers are printed with
      lowercase letters when needed.
    * Micro-optimize KERNEL:DOUBLE-FLOAT-BITS for x86/sse2.
    * Add micro-optimization for unary FTRUNCATE for x86/sse2.
    * Compiler can derive the types of the results of DECODE-FLOAT.
    * Main disassembly routines in the DISASSEMBLE package accept 
      :BASE, :CASE, and :RADIX keyword arguments, like
      DISASSEMBLE:DISASSEMBLE.
    * Micro optimizations for sse2 to allow descriptor regs for many
      operations so that the operands can be in memory instead of a
      register, thereby removing a register load instruction.
    * Support for darwin/ppc 10.5 and gcc 4.8.
    * Micro-optimization:  (expt -1 power) just returns -1 or 1
      without actually computing the power.

  * ANSI compliance fixes:
    * The values on the branch cuts for the inverse trig and
      hyperbolic functions have been updated.  Instead of following
      the text in the CLHS, the values are defined according to the
      definitions in the formulas.  In particular (atanh x) for x real
      and on the branch cut is now continuous with different
      quadrants.  This differs from the description of the branch cut
      for atanh in the CLHS.

  * Bugfixes:
    * Fix error in pi reduction on x87.  It was not noticed previously
      because the returned values were not used optimally.
    * Better error message for empty cond clauses.

  * Trac Tickets:
    * Ticket #90 fixed.

  * Other changes:

  * Improvements to the PCL implementation of CLOS:

  * Changes to building procedure:


This release is not binary compatible with code compiled using CMUCL
20e; you will need to recompile FASL files. 

See <URL:http://www.cmucl.org> or
<URL:http://trac.common-lisp.net/cmucl> for download information,
guidelines on reporting bugs, and mailing list details.


We hope you enjoy using this release of CMUCL!
