From: CMUCL Project
Subject: [ANN] CMUCL 18d released
Date: 
Message-ID: <wzilmbqp41s.fsf@melbourne.laas.fr>
========================== C M U C L  18 d =============================

March 11, 2002

The CMUCL project is pleased to announce the release of CMUCL 18d.
This is a major release which contains numerous enhancements and
bugfixes from the 18d 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 multimethods and user-defined method combinations; a
metaobject protocol based on AMOP; 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 in the public domain.

Features new in this release:
       
  * Feature enhancements:
      - a new platform, OpenBSD/x86 is supported
      - significant performance enhancements: code compiled with this
        release is approximately 10% faster than with 18c
      - Logical Pathname Translations can be auto-loaded
      - The presence of gray streams support is now clearly announced in the
        herald, and via the :gray-streams feature.
      - Support for READ- and WRITE-SEQUENCE on Gray streams, via
        STREAM-READ-SEQUENCE and STREAM-WRITE-SEQUENCE
      - New :class keyword option for OPEN, which lets it return Gray streams
        classes wrapped around lisp-streams.
      - Facility for addition of clean-up hooks, that are called
        before CMUCL is exited via EXT:QUIT
      - Added hooks that support the addition of advanced command processing
        capabilities for user input (similar to functionality in ACL)
      - support for hierarchical packages, as per ACL, signaled by the
        :relative-package-names feature.
      - the modules: pathname is initialized sensibly, to make REQUIRE work
        correctly out of the box. For example, you can now say
        (require :clx) to load the precompiled clx-library subsystem.
      - Report class information when describing symbols that are class
        names.
      - Compilation of PCL-generated code is now silent by default.  This can
        be controlled by changing PCL::*COMPILE-LAMBDA-SILENT-P*.
      - Further ongoing speed tuning to various numerical routines.
      - LOAD-FOREIGN has added :verbose option that honors *LOAD-VERBOSE*
      - Support larger FD_SETSIZE on FreeBSD
      - Debugger short-cuts to invoke available restarts now behave more
        predictably (all available restarts get a numeric command, and named
        restarts get their name as a command, unless that is already taken,
        i.e. as is indicated by the debugger display)
      - Improvements to disassembly listings on x86 and SPARC:
        o Sparc v9 instructions are longer so make the opcode column wider.
        o Allow printing of integer registers to use the Sparc register names
          instead of the Lisp names.
        o Add support for printing various notes during disassembly:
          o Assembler routines, foreign functions, and foreign constants
          o The value of constants in the code header
          o References to static symbols
          o Notes about pseudo-atomic stuff
          o Some hints on header-word types
      - Sparc port supports 64-bit integers for parameters and return
        values when calling foreign functions.
      - Try to use branch prediction on the sparc port.
      - Compiler understands the type of the function SIGNUM
      - Loading of files given by logical pathnames without a type
        will do a search for possible fasl files instead of just
        FASL.
      - Some optimizations to ALIEN-SAP to speed up alien access.

  * Numerous ANSI compliance fixes:
      - EVAL-WHEN behaviour should now be in line with ANSI spec
      - PROCLAIM no longer has a compile-time effect, so many old uses of this
        should use DECLAIM instead
      - DEFMACRO no longer has compile-time effect only when at toplevel
      - The interaction of structure-printing and print-object now matches
        ANSI spec more closely
      - Duplicate keyword arguments are now allowed in lambda-list
        destructuring operators.
      - READTABLE-CASE is now copied by COPY-READTABLE
      - fixes to the precedence lists of several error conditions
      - :CLTL2, :DRAFT-ANSI-CL, :X3J13 features removed
      - Removed various CLtL1/CLtL2-only exports from the COMMON-LISP package
        (COMPILER-MACROEXPAND, COMPILER-MACROEXPAND-1, DEFINE-SETF-METHOD,
         GET-SETF-METHOD, GET-SETF-METHOD-MULTIPLE-VALUE, LOGICAL-PATHNAME-P,
         SIMPLE-CONDITION-FORMAT-STRING, GENERIC-FLET, GENERIC-LABELS,
         WITH-ADDED-METHODS, HASH-TABLE-WEAK-P)
      - changes to logical pathname semantics
      - LOAD and COMPILE-FILE accept :EXTERNAL-FORMAT as required by
        ANSI, but ignore its value.
      
  * Numerous bugfixes:
      - fix for bogus warnings based on stale function type information for
        redefined functions
      - fix for printing of bit vectors (printer was incorrectly
        respecting radix and base control vairables). Also bugfixes to
        pretty printing of vectors
      - Fix sxhash and equal hash tables for strings with fill-pointers
      - read-sequence now works with byte-vectors and strings for
        concatenated-streams
      - Fix to handling of infinities in floating-point comparisons
      - Fix bug in handling of certain complex numbers by log
      - Fixed handling of floating point errors by handler-bind
      - Fixed broken INVALID-METHOD-ERROR and added stricter checks in
        standard method combination for the qualifiers on methods
      - Fixed calling of NO-APPLICABLE-METHOD for GFs with no defined
        methods
      - Fixed missing coercion to class in argument processing of the
        :METHOD-CLASS option to DEFGENERIC, which caused
        GENERIC-FUNCTION-METHOD-CLASS to return the uncoerced class name,
        breaking PCL and foreign code
      - Various fixes to parameters and events in CLX
      - COMPILE-FILE heeds logical-pathname translations for output file spec
      - Rewrite of deftransform for concatenate, because the original
        deftransform could cause the compiler to spend enormous (minutes!)
        amounts of time trying to derive the type of the START variable.
      - Allow only one docstring in relevant bodies, as processed by
        SYSTEM:PARSE-BODY
      - Several fixes to FORMAT: tilde dollarsign was not printing the
        correct amount of padding; tilde slash was not accepting a
        function name prefixed with two colons; ~F was not printing
        complex and non-numeric arguments correctly
      - Better error checking for arguments to FILE-LENGTH, FLOAT-RADIX
      - vector-push-extend works for adjustable arrays of zero length
      - Respect :order argument to short form of define-method-combination
      - Fix destructuring in AND sub-clauses of WITH-CLAUSES for LOOP
      - IGNORE declarations work for symbol-macros now
      - Changed handling of static libraries as the first argument to
        load-foreign, so that all archive members are loaded (like the user
        expects).
      - Stricter argument checking for ADJUST-ARRAY, which also doesn't
        shrink non-adjustable vectors in place anymore.
      - Removed forced defaulting of unsupplied :DIRECT-SUPERCLASSES and
        :DIRECT-SLOTS arguments by ENSURE-CLASS-USING-CLASS, as required by
        AMOP.
      - Fixed shared-initialize for std-class to correctly interpret
        unsupplied :direct-superclasses.
      - CATCH now works correctly for immediate fixnum and character tags
      - Fix some bugs in the ash deftransform.
      - Fix a bug in printing logical pathnames with a file version
        given.
      - Fixed a sparc backend bug where offsets were generated that
        couldn't fit in an offset field of an instruction.
      - Complex division vop was wrong (only for Sparc with
        :complex-vops *feature*)
      - Stack clearing code is incorporated into the Sparc port
      - The deprecated branch and taddcctv instructions shouldn't be
        used at all on V9 builds.

  * Other changes:
      - Default for CMUCLLIB on Linux changed to match the default on other
        Unices, namely /usr/local/lib/cmucl/lib/
      - The DEFSYSTEM facility that was distributed as part of the
        contrib archive (but not maintained by the CMUCL team) has
        been removed from the source distribution. A more up to date
        and maintained version is available from CLOCC, at
        <URL:http://clocc.sf.net/>. 

  * Code cleanups:
      - Changes to PCL (the CLOS implementation included with CMUCL)
        to remove code for other Common Lisp implementations. 
      - The features propagate-float-type, propagate-fun-type, and
        constrain-float-type are now the default and only behaviour.  Remove
        those features from your build scripts.

   * Changes to rebuilding procedure:
      - the directory src/bootfiles/18c contains a number of files
        required to bootstrap compilation from the 18c release. See the
        README in that directory for usage instructions.
      - the :NO-CLX, :NO-HEMLOCK etc features which are used to
        control subsystem compilation during the build phase are no
        longer present in the final cores.
      - Added new new target 'initial-map' that can make a 'lisp.nm' file
        from whatever 'lisp' executable is in the "target:lisp/" directory
        without depending on the rest of the source code being
        available. Used when setting up a build directory and/or when
        internals.h doesn't yet exist.
      - Various minor improvements to the Makefiles
                  
      

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

See <URL:http://www.cons.org/cmucl/> for download information,
guidelines on reporting bugs, and mailing list details.


We hope you enjoy using this release of CMUCL!

From: Fernando Rodr�guez
Subject: Re: [ANN] CMUCL 18d released
Date: 
Message-ID: <eqsjbu8131teg8rf6l3qk0h8ei8nfbfea2@4ax.com>
On Sun, 14 Apr 2002 19:45:35 +0200, CMUCL Project
<··················@cons.org> wrote:


>  * Feature enhancements:
>      - a new platform, OpenBSD/x86 is supported

Are there any plans to support win32 in the future?



-----------------------
Fernando Rodriguez
From: Eric Marsden
Subject: Re: [ANN] CMUCL 18d released
Date: 
Message-ID: <wzir8lhnxua.fsf@melbourne.laas.fr>
>>>>> "fr" == Fernando Rodr�guez <····@wanadoo.es> writes:

  fr> Are there any plans to support win32 in the future?

Fernando, I think the answer is the same as the last time you asked
this question :-)

None of the current CMUCL developers are working on a win32 port. The
port would require a fair amount of work on low-level memory
management and signal handling code; the way this is currently handled
in CMUCL is Unix-specific. Other aspects such as filesystem handling,
networking and FFI would be easier, but also require considerable work.

I imagine that someone would be willing to do this work, either for
CMUCL or for SBCL, if funding were made available. 
  
-- 
Eric Marsden                          <URL:http://www.laas.fr/~emarsden/>
From: Fernando Rodr�guez
Subject: Re: [ANN] CMUCL 18d released
Date: 
Message-ID: <68olbuopepjbkn8v2gq2u4p5bl8g3b4pfp@4ax.com>
On Mon, 15 Apr 2002 10:57:17 +0200, Eric Marsden <········@laas.fr> wrote:

>>>>>> "fr" == Fernando Rodr�guez <····@wanadoo.es> writes:
>
>  fr> Are there any plans to support win32 in the future?
>
>Fernando, I think the answer is the same as the last time you asked
>this question :-)

Probably, but I did read someone here saying that 'someone else' was working
on a win32 port of cmucl or sbcl. I had to ask . O:-)

  




-----------------------
Fernando Rodriguez
From: Julian Stecklina
Subject: Re: [ANN] CMUCL 18d released
Date: 
Message-ID: <87ads5njmx.fsf@blitz.comp.com>
CMUCL Project <··················@cons.org> writes:

[...]

> We hope you enjoy using this release of CMUCL!

I'm looking forward to enjoying it. I hope the new version enters the
FreeBSD ports tree quickly.

Regards,
Julian
-- 
Meine Hompage: http://julian.re6.de

Ich suche eine PCMCIA v1.x type I/II/III Netzwerkkarte.
Ich biete als Tauschobjekt eine v2 100MBit Karte in OVP.