/[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.4 - (show annotations)
Thu Nov 14 14:12:30 2002 UTC (11 years, 5 months ago) by toy
Branch: MAIN
Changes since 1.3: +43 -9 lines
File MIME type: text/plain
Update release notes.  From Eric Marsden.
1 ========================== C M U C L 18 e =============================
2
3 [--- WORK IN PROGRESS --- DO NOT DISTRIBUTE ---]
4
5 The CMUCL project is pleased to announce the release of CMUCL 18e.
6 This is a major release which contains numerous enhancements and
7 bugfixes from the 18d release.
8
9 CMUCL is a free, high performance implementation of the Common Lisp
10 programming language which runs on most major Unix platforms. It
11 mainly conforms to the ANSI Common Lisp standard. CMUCL provides a
12 sophisticated native code compiler; a powerful foreign function
13 interface; an implementation of CLOS, the Common Lisp Object System,
14 which includes multimethods and a metaobject protocol; a source-level
15 debugger and code profiler; and an Emacs-like editor implemented in
16 Common Lisp. CMUCL is maintained by a team of volunteers collaborating
17 over the Internet, and is mostly in the public domain.
18
19 New in this release:
20
21 * Feature enhancements:
22 - Karatsuba multiplier added to give faster multiplication for
23 big bignums.
24 - Better support for linking foreign libraries. You can now dump
25 cores with foreign libraries and reload the core without having
26 to reload the libraries. Available if the feature
27 :linkage-table is present.
28
29 * Numerous ANSI compliance fixes:
30 - SYMBOL-MACROLET signals an error when an attempt is made to
31 bind a special variable or a constant
32 - WITH-OUTPUT-TO-STRING accepts the :external-format keyword
33 argument
34 - the function WRITE-STRING accepts a NIL value for the :end
35 argument
36 - the function CHANGE-CLASS now accepts initargs
37 - loops of the form (LOOP FOR I BY (INCF X) FROM ...) now work
38 - in loop forms, the INITIALLY, FINALLY and DO keywords must be
39 followed by a compound form
40 - in the loop macro, PRESENT-SYMBOL now means both internal and
41 external symbols of a package
42 - the class precedence list of NULL has symbol before list
43 - the function FLOAT-RADIX signals an error if its argument is
44 not a float
45 - an error is signaled if the lambda keyword &rest is not
46 followed by a variable
47 - the GENTEMP function no longer accepts arguments of type symbol
48 - the function SHIFTF supports multiple values
49 - compiler macros recognize calls of the form (funcall foo args)
50 - (coerce <rational> '(complex float)) now returns a (complex
51 float) rather than a rational
52 - the ECASE and CCASE macros are allowed to use T and OTHERWISE
53 as regular keys, instead of as the otherwise clause. CMUCL
54 prints a warning about this being poor style.
55 - the type (complex (eql 0)) is accepted now instead of
56 generating an error.
57 - the sequence functions check to make sure sequences are
58 specified and that, if lengths are given, the result matches
59 the given length.
60 - when the argument to TRANSLATE-LOGICAL-PATHNAME is a physical
61 pathname, return it instead of signalling an error.
62 - the function DEFAULT-DIRECTORY returns a pathname with an
63 explicit Unix host, instead of leaving it unspecified.
64 - logical pathnames are now externalizable
65 - bad directives in FORMAT-LOGICAL-BLOCK: an error is now signalled
66 if ~W, ~_, ~<...~:>, ~I, or ~:T is used inside "~<..~>"
67 (without the colon modifier on the closing syntax).
68 - the SUBTYPEP function is more intelligent when dealing with
69 certain hairy types (such as those based on SATISFIES).
70
71 * Numerous bugfixes:
72 - READ-BYTE on certain types of multi-byte elements was incorrect
73 - fix the treatment of colon package delimiters for the ~/
74 formatting directive
75 - correction to CLX's handling of FamilyLocal authorization
76 cookies (as created by versions of ssh after 3.4)
77 - fix to CLX handling of :any event-spec ??
78 - fix to boa-constructors ??
79 - EXPT was not correctly handling a zero exponent
80 - index calculations for operations bitvectors of sizes near the
81 ARRAY-DIMENSION-LIMIT could overflow
82 - redefining a class with a changed class precedence list didn't
83 update the CMUCL type system
84 - generated CLOS getter/setter/boundp generic functions are now
85 declared correctly, to eliminate bogus undefined function
86 warnings from the compiler
87 - method combination options for the long form of the
88 DEFINE-METHOD-COMBINATION special form work correctly
89 - executing a defclass form with a metaclass of STRUCTURE-CLASS
90 would result in the generation of recursive print-object
91 methods, so that printing such instances would loop
92 - dividing a ration by zero returned 1/0 instead of signaling an
93 error
94 - PPRINT-LOGICAL-BLOCK with a numeric prefix no longer causes the
95 system to crash
96 - byte-compiled calls to two-argument STRING< and STRING>
97 returned incorrect results
98 - the function READ-SEQUENCE returned incorrect results for
99 specialized arrays when the internal READ-N-BYTES function read
100 short
101 - when a sequence type specifies a length, CMUCL checks that the
102 length of sequence arguments match the length of the sequence type
103 - the function REMOVE was not correctly handling all possible
104 combinations of the :start, :end and :from options.
105 - the function COMPILE-FILE-PATHNAME computes the output file
106 name by merging the input file name and the supplied output file name
107 - the functions MAKE-BROADCAST-STREAM, MAKE-TWO-WAY-STREAM,
108 MAKE-CONCATENATED-STREAM and MAKE-ECHO-STREAM check that their
109 argument is an input or output stream, as appropriate
110 - STREAM-READ-SEQUENCE and STREAM-WRITE-SEQUENCE were getting
111 called with arguments in the wrong order.
112 - numerous error conditions are signalled using a more specific
113 condition type than a generic error
114 - many (all?) cases where the unused labels functions were
115 causing a compiler assertion error.
116 - some cases where the compiler was incorrectly deriving the
117 types of functions have been fixed.
118 - error reporting in many areas have been improved to be more
119 specific and/or ANSI compliant.
120 - error detection of defclass options in line with ANSI
121 requirements.
122 - the compiler now checks type declarations on array elements
123 before believing them.
124
125 * Other changes:
126 - The sparc port has experimental support for native 64-bit
127 integers (unsigned-byte 64) and (signed-byte 64) on sparc v9
128 (64-bit) architectures. Enabled if the feature :sparc-v8plus
129 is present (you will need to rebuild CMUCL).
130 - the function PROFILE:REPORT-TIME no longer prints out a long
131 list of functions that were not profiled. The cutoff is
132 user-configurable by setting the new variable
133 PROFILE::*NO-CALLS-LIMIT*.
134 - reinstated the ability to build small runtime images (excluding
135 the compiler)
136 - DESCRIBE will print a note if a symbol names a type-specifier
137 - numeric types with empty ranges are accepted silently (instead
138 of signalling an error), and treated as the empty type.
139
140 * Code cleanups:
141 - very numerous changes to the PCL implementation of CLOS, to
142 delete unused code, improve error checking.
143 - a number of stale symbols have been deleted from CMUCL images
144
145 * Numerous improvements to the PCL implementation of CLOS:
146 - superfluous SLOT-BOUNDP checking for structure-classes has been
147 removed
148 - the preallocation of caches for generic functions has been
149 removed, since benchmarking indicated that this doesn't provide a
150 noticeable performance increase
151
152 * Changes to rebuilding procedure:
153 - the search-list "modules:" tracks the "library:" search-list,
154 instead of being set to whatever "library:subsystems/" is at
155 startup.
156
157 * Deprecated features:
158 - the HASH-NEW, NEW-COMPILER and RANDOM-MT19937 elements of the
159 *FEATURES* list are deprecated. Starting from the next release of
160 CMUCL, the corresponding code will be included in default CMUCL
161 builds.
162
163
164 This release is not binary compatible with code compiled using CMUCL
165 18d; you will need to recompile FASL files.
166
167 See <URL:http://www.cons.org/cmucl/> for download information,
168 guidelines on reporting bugs, and mailing list details.
169
170
171 We hope you enjoy using this release of CMUCL!
172

  ViewVC Help
Powered by ViewVC 1.1.5