/[cmucl]/src/general-info/release-19a.txt
ViewVC logotype

Contents of /src/general-info/release-19a.txt

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.47 - (show annotations)
Thu Jun 5 13:36:07 2003 UTC (10 years, 10 months ago) by gerd
Branch: MAIN
Changes since 1.46: +4 -0 lines
File MIME type: text/plain
*** empty log message ***
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 19a.
6 This is a major release which contains numerous enhancements and
7 bugfixes from the 18e 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 - Stack overflow checking added for FreeBSD/x86 and Linux/x86.
23 Code that makes the control stack overflow (for example due to
24 unbounded recursion) will lead to a STORAGE-ERROR being
25 signaled, instead of making CMUCL crash.
26 - LISP:FIND-CLASS and LISP:CLASS-OF now return CLOS classes. The
27 symbols LISP:STANDARD-CLASS, LISP:BUILT-IN-CLASS, and
28 LISP:STRUCTURE-CLASS name CLOS classes. It is no longer
29 necessary to SHADOWING-IMPORT these from PCL when doing MOP
30 programming, and it fixes some non-compliances as well.
31 - Package locks: a package whose EXT:PACKAGE-LOCK is enabled
32 non-NIL is protected against changes in its structure (list of
33 exported symbols, use-list etc). Symbols in a package whose
34 EXT:PACKAGE-DEFINITION-LOCK is enabled are protected against
35 redefinition.
36 - Weak hash tables have been added for x86 systems.
37 - Local functions are now named (FLET <name> ...) or
38 (LABELS <name> ...).
39 - Compiler checking control string and number of args to FORMAT.
40 - TRACE automatically using encapsulation when function-end
41 breakpoints cannot be used.
42 - INSPECT working on CLOS instances.
43 - Callbacks from foreign code to Lisp.
44 - Functions like GETHASH that are used in the implementation of
45 TRACE can now be traced. See also
46 DEBUG:*TRACE-ENCAPSULATE-PACKAGE-NAMES*.
47 - New facility for encapsulating functions, FWRAPPERS;
48 see also the CMUCL User Manual.
49 - TRACE and PROFILE have been reimplemented using fwrappers,
50 with the effect of tracing and profiling now working more
51 nicely together.
52 - When a profiled function is redefined, it is re-profiled.
53
54 * Numerous ANSI compliance fixes:
55 - Many bugs in CMUCL's type system detected by Paul Dietz'
56 ANSI test suite have been fixed.
57 - Non-keyword keyword names in lambda lists are now accepted.
58 - Condition slot initialization fixed for the case that two
59 or more slots have the same :INITARG.
60 - Initforms are now evaluated once only during condition slot
61 initialization.
62 - USE-VALUE, STORE-VALUE, CONTINUE behavior corrected in presence
63 of multiple restarts having the same name.
64 - RESTART-CASE's interaction with local macros fixed.
65 - Interaction of COMPUTE-RESTARTS and RESTART-CASE fixed in
66 presence of multiple restarts having the same name.
67 - Condition slot readers/writers are generic functions.
68 - &WHOLE, &REST, &BODY in macro lambda lists can be followed
69 by destructuring patterns. The previous behavior of &BODY
70 when followed by (<body> <declarations> <doc>) is available
71 through the new lambda-list keyword EXT:&PARSE-BODY.
72 - ELT now signals an error in safe code when used on lists
73 with an out-of-bounds index.
74 - Accessing arrays in compiled code with out-of-bounds indices
75 now signals a TYPE-ERROR.
76 - DECLARE no longer being a special operator.
77 - DEFINE-CONDITION accepts slot option :DOCUMENTATION.
78 - Behavior of (... &KEY &ALLOW-OTHER-KEYS) fixed for
79 DESTRUCTURING-BIND and macros.
80 - Stricter checking of keyword argument list in CLOS methods.
81 - &ENVIRONMENT variable bound bound before other vars, regardless
82 of where it appears in a lambda-list.
83 - VALUES types no longer accepting &KEY or &ALLOW-OTHER-KEYS.
84 - THE conforming to ANSI.
85 - SLOT-EXISTS-P can be used with conditions.
86 - REMOVE-METHOD always returning the generic function passed to it.
87 - Standard methods for STANDARD-OBJECT and STRUCTURE-OBJECT
88 defined on MAKE-LOAD-FORM.
89 - Compliant MAKE-LOAD-FORM-SAVING-SLOTS.
90 - DEFSTRUCT recording slot-names as specified by users.
91 - Generic function call keyword argument checking according to
92 ANSI 7.6.5.
93 - CALL-NEXT-METHOD without arguments being called with original
94 arguments when method parameters are changed with SETQ.
95 - When CALL-NEXT-METHOD is called with arguments, an error is
96 signaled in safe code when the set of methods applicable to
97 CALL-NEXT-METHOD's arguments is different from the set of
98 methods applicable to the original method arguments.
99 - FIND-METHOD signaling an error when called with specializers
100 not corresponding to the number of required arguments of the
101 supplied generic function.
102
103 * Numerous bugfixes:
104 - NSET-EXCLUSIVE-OR returns the same results as SET-EXCLUSIVE-OR
105 wrt to duplicate elements.
106 - Forms like (MULTIPLE-VALUE-BIND 'LIST) no longer trapping
107 an internal compiler error when compiled.
108 - PARSE-INTEGER signaling PARSE-ERROR.
109 - Compiler eliminating some type checks in safe code.
110 - Byte-compiler and -interpreter not handling C:&MORE.
111 - Some TYPE-ERRORs being signaled with unbound slots, which
112 made them undisplayable.
113
114 * Other changes:
115 - Removed obsolete alias from MAKE-VECTOR to MAKE-ARRAY
116 - the signature of *COMPILER-NOTIFICATION-FUNCTION* has changed;
117 it now has an extra argument that describes the nature of the
118 error or warning.
119
120
121 * Numerous improvements to the PCL implementation of CLOS:
122 - Gerd's PCL has been added, which fixes numerous bugs and ANSI/
123 AMOP non-compliances, and adds various new optimizations (also
124 see the CMU User Manual).
125 - PCL's class hierarchy has been changed to conform to AMOP, for
126 instance, GENERIC-FUNCTION is now a subclass of
127 STANDARD-OBJECT.
128 - ENSURE-CLASS-USING-CLASS's argument list has been changed
129 to conform to AMOP.
130 - COMPUTE-EFFECTIVE-SLOT-DEFINITION now takes a slot name as
131 argument, for AMOP compliance.
132 - SUBTYPEP works in presence of forward-referenced classes.
133 - Accessing slots of specialized parameters in (SETF
134 SLOT-VALUE-USING-CLASS) methods works.
135 - DIRECT-SLOT-DEFINITION-CLASS and EFFECTIVE-SLOT-DEFINITION-CLASS
136 AMOP compliant.
137 - ALLOCATE-INSTANCE working with structures defined with DEFSTRUCT.
138 - With (DEFGENERIC FOO (&REST X &KEY)) (DEFMETHOD FOO (&REST X) X),
139 (FOO 1) now signals an error.
140 - Methods with &OPTIONAL arguments detecting too many args.
141 - DEFMETHOD and DEFGENERIC detecting doubled lambda variables.
142 - DEFGENERIC :ARGUMENT-PRECEDENCE-ORDER option checking.
143 - SLOT-VALUE, (SETF SLOT-VALUE), SLOT-BOUNDP working with conditions.
144 - (SETF SLOT-VALUE) working on read-only structure slots like
145 in other implementations.
146 - The declaration identifiers SLOTS, AUTO-COMPILE,
147 NOT-AUTO-COMPILE have been moved from PCL to EXT.
148 - Support for inlineing methods in effective methods; see the
149 CMU User Manual.
150 - Wrong results could be returned from generic functions when
151 all methods returned constant values, and some methods were
152 qualified, or the generic function didn't use the standard
153 method combination.
154
155 * Improvements to Hemlock, the Emacs-like editor:
156
157 * Changes to rebuilding procedure:
158
159 * Deprecated features:
160 - EXT:ENCAPSULATE and associated functions; use fwrappers instead.
161
162 This release is not binary compatible with code compiled using CMUCL
163 18e; you will need to recompile FASL files.
164
165 See <URL:http://www.cons.org/cmucl/> for download information,
166 guidelines on reporting bugs, and mailing list details.
167
168
169 We hope you enjoy using this release of CMUCL!
170

  ViewVC Help
Powered by ViewVC 1.1.5