/[cmucl]/src/general-info/release-18e.txt
ViewVC logotype

Contents of /src/general-info/release-18e.txt

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.3.2.1 - (hide annotations)
Sat May 22 12:09:19 2004 UTC (9 years, 10 months ago) by rtoy
Branch: UNICODE-BRANCH
Changes since 1.3: +101 -14 lines
File MIME type: text/plain
Perform trivial merge from head to unicode-branch.
1 toy 1.1 ========================== C M U C L 18 e =============================
2    
3     The CMUCL project is pleased to announce the release of CMUCL 18e.
4     This is a major release which contains numerous enhancements and
5 toy 1.2 bugfixes from the 18d release.
6 toy 1.1
7     CMUCL is a free, high performance implementation of the Common Lisp
8     programming language which runs on most major Unix platforms. It
9     mainly conforms to the ANSI Common Lisp standard. CMUCL provides a
10     sophisticated native code compiler; a powerful foreign function
11     interface; an implementation of CLOS, the Common Lisp Object System,
12     which includes multimethods and a metaobject protocol; a source-level
13     debugger and code profiler; and an Emacs-like editor implemented in
14     Common Lisp. CMUCL is maintained by a team of volunteers collaborating
15     over the Internet, and is mostly in the public domain.
16    
17     New in this release:
18    
19     * Feature enhancements:
20 toy 1.3 - Karatsuba multiplier added to give faster multiplication for
21     big bignums.
22 rtoy 1.3.2.1 - Better support for linking foreign libraries. You can now dump
23     cores with foreign libraries and reload this core and the
24     libraries, without having to reload code that uses those
25     libraries. Available if the feature :linkage-table is present.
26     - A cross-referencing facility has been added to the compiler,
27     providing WHO-CALLS, WHO-BINDS, WHO-REFERENCES, WHO-SETS
28     information. See the corresponding chapter of the User's Manual
29     for more information.
30     - Bindings to the POSIX user and group database access functions
31     (getpwuid et al) have been added to the UNIX package.
32     - Support for Unix sockets and for binding to specific IP
33     addresses has been added to the networking code.
34     - Support for generalized function names of the form
35     (<SYMBOL> ...) has been added. See EXT:DEFINE-FUNCTION-NAME-SYNTAX
36     and EXT:VALID-FUNCTION-NAME-P.
37     - Access to the hardware cycle counters on Pentium and UltraSPARC
38     processors has been added, and is reported by the TIME macro.
39     - On Linux, it is possible to read and write files larger than 2GiB
40     (Large File Support implementation) using the low-level functions
41     in the UNIX package. Use of ANSI CL functions to process such files
42     may work, but the code base hasn't been audited for this.
43     Full support for this requires a 2.4 or a 2.2 kernel with LFS
44     patches.
45 toy 1.1
46     * Numerous ANSI compliance fixes:
47     - SYMBOL-MACROLET signals an error when an attempt is made to
48     bind a special variable or a constant
49 rtoy 1.3.2.1 - the function COMPILE no longer coalesces constants, as required
50     by the specification (however, COMPILE-FILE continues to do so)
51 toy 1.1 - WITH-OUTPUT-TO-STRING accepts the :external-format keyword
52     argument
53     - the function WRITE-STRING accepts a NIL value for the :end
54     argument
55     - the function CHANGE-CLASS now accepts initargs
56     - loops of the form (LOOP FOR I BY (INCF X) FROM ...) now work
57     - in loop forms, the INITIALLY, FINALLY and DO keywords must be
58     followed by a compound form
59     - in the loop macro, PRESENT-SYMBOL now means both internal and
60     external symbols of a package
61     - the class precedence list of NULL has symbol before list
62     - the function FLOAT-RADIX signals an error if its argument is
63     not a float
64     - an error is signaled if the lambda keyword &rest is not
65     followed by a variable
66     - the GENTEMP function no longer accepts arguments of type symbol
67     - the function SHIFTF supports multiple values
68     - compiler macros recognize calls of the form (funcall foo args)
69     - (coerce <rational> '(complex float)) now returns a (complex
70     float) rather than a rational
71     - the ECASE and CCASE macros are allowed to use T and OTHERWISE
72     as regular keys, instead of as the otherwise clause. CMUCL
73     prints a warning about this being poor style.
74 toy 1.2 - the type (complex (eql 0)) is accepted now instead of
75     generating an error.
76 toy 1.3 - the sequence functions check to make sure sequences are
77     specified and that, if lengths are given, the result matches
78     the given length.
79 rtoy 1.3.2.1 - when the argument to TRANSLATE-LOGICAL-PATHNAME is a physical
80     pathname, return it instead of signalling an error.
81     - the function DEFAULT-DIRECTORY returns a pathname with an
82     explicit Unix host, instead of leaving it unspecified.
83     - logical pathnames are now externalizable
84     - bad directives in FORMAT-LOGICAL-BLOCK: an error is now signalled
85     if ~W, ~_, ~<...~:>, ~I, or ~:T is used inside "~<..~>"
86     (without the colon modifier on the closing syntax).
87     - the SUBTYPEP function is more intelligent when dealing with
88     certain hairy types (such as those based on SATISFIES).
89     - the optional environment argument to the functions TYPEP,
90     SUBTYPEP and friends are now accepted (but ignored).
91     - system classes FILE-STREAM and STRING-STREAM have been added.
92 toy 1.1
93     * Numerous bugfixes:
94     - READ-BYTE on certain types of multi-byte elements was incorrect
95     - fix the treatment of colon package delimiters for the ~/
96     formatting directive
97     - correction to CLX's handling of FamilyLocal authorization
98     cookies (as created by versions of ssh after 3.4)
99 rtoy 1.3.2.1 - fix to CLX handling of :any event-spec
100 toy 1.1 - fix to boa-constructors ??
101     - EXPT was not correctly handling a zero exponent
102 rtoy 1.3.2.1 - PROGV was not handling special variables correctly.
103     - MULTIPLE-VALUE-SETQ and PSETQ were not handling symbol macros correctly.
104 toy 1.1 - index calculations for operations bitvectors of sizes near the
105     ARRAY-DIMENSION-LIMIT could overflow
106     - redefining a class with a changed class precedence list didn't
107     update the CMUCL type system
108     - generated CLOS getter/setter/boundp generic functions are now
109     declared correctly, to eliminate bogus undefined function
110     warnings from the compiler
111     - method combination options for the long form of the
112     DEFINE-METHOD-COMBINATION special form work correctly
113     - executing a defclass form with a metaclass of STRUCTURE-CLASS
114     would result in the generation of recursive print-object
115     methods, so that printing such instances would loop
116     - dividing a ration by zero returned 1/0 instead of signaling an
117     error
118     - PPRINT-LOGICAL-BLOCK with a numeric prefix no longer causes the
119     system to crash
120 rtoy 1.3.2.1 - byte-compiled calls to two-argument STRING< and STRING>
121 toy 1.1 returned incorrect results
122     - the function READ-SEQUENCE returned incorrect results for
123     specialized arrays when the internal READ-N-BYTES function read
124     short
125     - when a sequence type specifies a length, CMUCL checks that the
126     length of sequence arguments match the length of the sequence type
127 rtoy 1.3.2.1 - the function REMOVE was not correctly handling all possible
128     combinations of the :start, :end and :from options.
129 toy 1.1 - the function COMPILE-FILE-PATHNAME computes the output file
130     name by merging the input file name and the supplied output file name
131     - the functions MAKE-BROADCAST-STREAM, MAKE-TWO-WAY-STREAM,
132     MAKE-CONCATENATED-STREAM and MAKE-ECHO-STREAM check that their
133     argument is an input or output stream, as appropriate
134 rtoy 1.3.2.1 - STREAM-READ-SEQUENCE and STREAM-WRITE-SEQUENCE were getting
135     called with arguments in the wrong order.
136 toy 1.1 - numerous error conditions are signalled using a more specific
137     condition type than a generic error
138 toy 1.2 - many (all?) cases where the unused labels functions were
139     causing a compiler assertion error.
140     - some cases where the compiler was incorrectly deriving the
141     types of functions have been fixed.
142     - error reporting in many areas have been improved to be more
143     specific and/or ANSI compliant.
144     - error detection of defclass options in line with ANSI
145     requirements.
146 rtoy 1.3.2.1 - the compiler now checks type declarations on array elements
147     before believing them.
148     - Special declarations of the DOLIST iteration variable are
149     now honoured when evaluating the DOLIST result form.
150     - The argument evaluation order of MAKE-STRING in compiled
151     code has been fixed.
152 toy 1.1
153     * Other changes:
154 rtoy 1.3.2.1 - The default value for EXT:*BYTES-CONSED-BETWEEN-GCS* has been
155     increased from 2000000 to 12000000, which should improve GC
156     performance for many applications out of the box. Of course
157     people are encouraged to tune the GC parameters to match their
158     application requirements (e.g. interactive response times),
159     and their hardware environment.
160     - The sparc port has experimental support for native 64-bit
161     integers (unsigned-byte 64) and (signed-byte 64) on sparc v9
162     (64-bit) architectures. Enabled if the feature :sparc-v8plus
163     is present (you will need to rebuild CMUCL).
164     - The CMUCL release tarballs are now relocatable. The lisp image
165     (in the lisp.core file) is now searched for relative to the
166     lisp runtime. The previous search mechanisms still take
167     precedence: the -core commandline option, the CMUCLLIB
168     environment variable, the default /usr/local/lib/cmucl search
169     path.
170     - Messages from the compiler are now preceded by a semicolon, for
171     better interaction with environments with syntax highlighting.
172     - An improved initializer for random state is available (function
173     KERNEL:INIT-RANDOM-STATE accepts an argument of type vector).
174 toy 1.1 - the function PROFILE:REPORT-TIME no longer prints out a long
175     list of functions that were not profiled. The cutoff is
176     user-configurable by setting the new variable
177     PROFILE::*NO-CALLS-LIMIT*.
178     - reinstated the ability to build small runtime images (excluding
179     the compiler)
180 toy 1.2 - DESCRIBE will print a note if a symbol names a type-specifier
181 rtoy 1.3.2.1 - numeric types with empty ranges are accepted silently (instead
182     of signalling an error), and treated as the empty type.
183     - on Linux, the function SOFTWARE-VERSION returns more useful
184     information than in the past, including the kernel version
185     number.
186     - the function MAKE-DISPATCH-MACRO-CHARACTER will quietly
187     override existing definitions, instead of signalling an error
188     if a previous binding for a macro character existed.
189     - a number of stale symbols have been deleted from CMUCL images
190    
191     * Numerous improvements to the PCL implementation of CLOS:
192     - some unused code has been deleted
193     - error checking of CLOS functions has been significantly improved
194     - the hash function for PCL instances has been improved
195     - superfluous SLOT-BOUNDP checking for structure-classes has been
196     removed
197     - the preallocation of caches for generic functions has been
198     removed, since benchmarking indicated that this doesn't provide a
199     noticeable performance increase
200    
201     * Improvements to Hemlock, the Emacs-like editor:
202     - a dynamic-abbrev facility has been added (bound to M-/)
203     - support for C-w (copy work) during incremental search
204 toy 1.1
205     * Changes to rebuilding procedure:
206     - the search-list "modules:" tracks the "library:" search-list,
207     instead of being set to whatever "library:subsystems/" is at
208     startup.
209    
210 rtoy 1.3.2.1 * Deprecated features:
211     - the HASH-NEW, NEW-COMPILER and RANDOM-MT19937 elements of the
212     *FEATURES* list are deprecated. Starting from the next release of
213     CMUCL, the corresponding code will be included in default CMUCL
214     builds.
215    
216 toy 1.1
217     This release is not binary compatible with code compiled using CMUCL
218     18d; you will need to recompile FASL files.
219    
220     See <URL:http://www.cons.org/cmucl/> for download information,
221     guidelines on reporting bugs, and mailing list details.
222    
223    
224     We hope you enjoy using this release of CMUCL!
225    

  ViewVC Help
Powered by ViewVC 1.1.5