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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.21 - (show annotations)
Mon Apr 4 15:44:45 2005 UTC (9 years ago) by rtoy
Branch: MAIN
CVS Tags: snapshot-2005-04
Changes since 1.20: +18 -11 lines
File MIME type: text/plain
Update for 2005-04 snapshot.
1 ========================== C M U C L 19 b =============================
2
3 [--- WORK IN PROGRESS --- DO NOT DISTRIBUTE ---]
4
5 The CMUCL project is pleased to announce the release of CMUCL 19b.
6 This is a major release which contains numerous enhancements and
7 bugfixes from the 19a 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 - Added a much faster and much less consy bignum printer and a
23 faster bignum reader.
24 - Extended REQUIRE to support *MODULE-PROVIDER-FUNCTIONS* from
25 SBCL.
26 - NetBSD supported.
27 - SIMPLE-STREAM fixes:
28 o READ-SEQUENCE and WRITE-SEQUENCE for
29 signed-byte/unsigned-byte 8 streams.
30 o Memory-mapped file streams.
31 - Large file support for Solaris, so CMUCL can handle files
32 larger than 2GB.
33 - Support for Mac OS X.
34 - A much faster GCD implementation.
35 - A faster Karatsuba multiplier when the number of words of the
36 bignums is not a power of 2. (Break-even is still around 1500
37 bits, though.)
38 - New command-line switch -debug-lisp-search to show how lisp is
39 searching for its core file.
40 - DEBUG-RETURN implemented which allows you to return a value
41 from function. Only enabled with DEBUG 3.
42 - Lazy sxhash on symbols implemented for ppc.
43 - Pretty-printer for LOOP.
44 - Added some more pprinters for various forms.
45 - Callbacks supported on Mac OS X.
46 - Loop analysis code added to the compiler. It's incorporated
47 into the build and can be enabled by setting *loop-analyze* to
48 T, but the compiler doesn't use the loop information for
49 anything yet.
50 - Errors from socket functions signal a SOCKET-ERROR instead of
51 ERROR.
52 - Efficiency notes are no longer printed if inhibit-warnings >=
53 2.5.
54 - Simple support for datagram networking added: INET-RECVFROM,
55 INET-SENDTO, INET-SHUTDOWN.
56 - Linkage table support for PPC and Darwin.
57 - A socket reset signals a SOCKET-ERROR condition instead of a
58 general ERROR condition.
59 - :LINKAGE-TABLE feature is now supported on PPC.
60 - MAKE-INDENTING-STREAM and INDENTING-STREAM-P are exported from
61 the EXTENSIONS package instead of being internal.
62 - TRACE will work now for the known-return convention, which
63 used to require encapsulation so that only the first call was
64 traced. Useful for tracing recursive functions.
65 - Bivalent streams are supported. Thus, streams with
66 element-type (unsigned-byte 8) can be used for character
67 input/output as well as binary input/output. Supply the
68 option :CLASS 'EXT:BINARY-TEXT-STREAM for OPEN to get bivalen
69 streams. EXT:READ-VECTOR and EXT:WRITE-VECTOR also
70 implemented. This is somewhat experimental right now, and may
71 change slightly in a future version.
72
73 * Numerous ANSI compliance fixes:
74 - FILE-AUTHOR should signal errors appropriately.
75 - CMUCL was computing the wrong value for some special functions
76 when the argument was on the branch cut for the function.
77 - MULTIPLE-VALUE-BIND accepts &REST and friends in the var list.
78 - When constructing logical pathnames, all components will be
79 automatically upcased. Needed for print/read consistency, and
80 fixes an issue with ASDF and logical pathnames.
81 - Numerous fixes to the float printer, including a new float
82 printer.
83 - Justification (~< ~>) works better.
84 - ~V with the value of NIL in format strings is treated to mean
85 as if it weren't given at all, as specified by ANSI CL.
86 - Characters print consistently with ~:C and ~S.
87 - Numerous bug fixes for pretty-printing and format strings.
88 - Pathnames are now printed with #P instead of #p.
89 - The types COMPLEX and (COMPLEX REAL) are the same now.
90 - UPGRADED-COMPLEX-PART-TYPE returns RATIONAL for integer types
91 now. (CMUCL doesn't really have a (COMPLEX INTEGER) type).
92 - When a pathname can't be printed readably, signal a
93 PRINT-NOT-READABLE condition
94 - Printing arrays readably was sometimes wrong.
95 - FOR-AS-ON-LIST works with dotted lists.
96 - DEFSTRUCT predicates for list structures don't produce errors
97 anymore on dotted or short lists.
98 - UNBOUND-SLOT condition no longer takes the :slot keyword. It
99 uses the ANSI-specified :name keyword. This is not backward
100 compatible!
101 - MAKE-SYMBOL takes STRING's, not just SIMPLE-STRING's.
102 - PPRINT-POP did not return NIL when the list arg to
103 PPRINT-LOGICAL-BLOCK was NIL.
104 - Signal appropriate error conditions instead of a plain error
105 condition in many situations.
106 - TYPECASE was treating the type T as an otherwise clause even
107 though it was not the last clause. It should be just a
108 regular clause.
109 - ASIN, ACOS, ACOSH, and ATANH were returning the wrong values
110 when the arg was a real number on the branch cut.
111 - Missed some places where loop variables were duplicated, which
112 should signal a program-error.
113 - LOOP INITIALLY clauses occur after variable initialization for
114 FOR, WITH, and AS clauses, as required by ANSI CL.
115 - Format bugs in ~{ and ~@[X~], as noted by ansi-tests, have
116 been fixed.
117 - Evaluation order of REMF, INCF, and DECF.
118 - When *read-suppress* is T, READ, READ-PRESERVING-WHITESPACE,
119 READ-DELIMITED-LIST, and READ-FROM-STRING now return NIL, as
120 specified by ANSI CL. (Previously, CMUCL would return a list
121 of NILs.)
122 - Pathname components of type :UNSPECIFIC are not printed in
123 namestrings anymore.
124 - Dumping of symbols in fasls work according to ANSI now.
125
126 * Numerous bugfixes:
127 - FFLOOR and friends preserve the sign of the arg, so -0.0 is
128 returned for negative args.
129 - EXPT sometimes returne NaN instead of 1 when the power was 0.
130 - Weak pointers don't have O(n^2) GC behavior anymore.
131 - X11 authorization changes to solve problems seen with servers
132 that don't listen to TCP connection requests.
133 - unix-read fix
134 - The compiler would give an error on deriving the result type
135 of RANDOM when the arg to RANDOM was a union type.
136 - "~*~" was not being parsed to mean a wildcard version.
137 - UNIX-GETPWUID implemented for Darwin. Needed for FILE-AUTHOR.
138 - The compiler no longer gives errors when deriving the result type of
139 coerce when converting a integer to a float that would not fit
140 in a float.
141 - Fix bug in reading from streams with element-type SIGNED-BYTE
142 for sizes greater than 32: Positive numbers were incorrectly
143 being returned as negative.
144 - REMOVE-DUPLICATES was not honoring the :START option.
145 - PPRINT-LOGICAL-BLOCK sometimes didn't close the block properly
146 because PPRINT-EXIT-IF-LIST-EXHAUSTED caused an early exit.
147 - Macro expansion was not looking in the local environment
148 properly for local definitions.
149 - Circular Weak pointers can now be printed when *print-circle*
150 is T.
151 - "foo.lisp.*" is interpreted to have version :wild, just like
152 "foo.lisp.~*~".
153 - DIRECTORY will report all versions of a file if the pathname
154 has version :wild.
155 - Fixed bug with CLX on MacOS X where the WM-SIZE-HINTS were
156 larger than CLX expected. Replaced card16 with card32.
157 - Callbacks on sparc that returned double-floats were sometimes
158 causing a sigbus error.
159 - Type specifiers like (float low high) where low and high were
160 outside the range of single-float numbers no longer cause
161 compiler errors.
162 - Fix source-form reporting in the disassembler.
163 - Arrays in fasl files had non-NIL fill-pointer. Make them NIL.
164 - FILE-POSITION was incorrectly set for simple-streams after a
165 READ-VECTOR.
166 - Printing 1d23 no longer causes an error.
167 - Work around the problem of (concatenate 'fixnum '(1)) causing
168 deletion of all following code.
169 - A directory with a component of :WILD was not correctly
170 handled.
171 - CREATE-INET-LISTENER was missing a call to htonl.
172 - (coerce #c(1 2) '(complex float)) works now.
173 - Type derivation for logior and logxor was broken.
174 - Fixed bug where (setf (aref f 0) (aref d 0)) doesn't produce a
175 warning and causes code including the function return to be
176 deleted, where f is a single-float array and d is a
177 double-float array.
178 - COUNT for bit arrays was sometimes failing to include the
179 count from the last 32-bits of the array.
180 - The default heap size was causing CMUCL to fail on Solaris
181 10. Change the default so this doesn't happen. (The real
182 cause is unknown.)
183 - In some cases, the compiler was spending large amounts of time
184 deriving union of a bunch of disjoint integer intervals. If
185 the union is long enough, we give up and just return the
186 smallest new interval that contains all of the disjoint
187 intervals. (This needs a better fix.)
188 - The :WHEREIN option to TRACE handles methods now.
189 - The maximum dynamic space size was wrong on Linux.
190 - Type inferencing for OPEN was broken when :IF-DOES-NOT-EXIST
191 was given and was not a compile-time constant.
192 - ~G output always had a zero for the last digit when
193 exponential form was used. Fix this so the last digit has the
194 correct digit.
195
196 * Other changes:
197 - Infinite loops in map and friends caused by specifying
198 sequence types that are too hairy for CMUCL should no longer
199 occur. But CMUCL will now signal an error, which may not be
200 compliant either.
201 - Compiler is a little smarter in deriving the result type of
202 MAP.
203 - MAKE-PATHNAME will accept a :HOST arg of NIL, and will use NIL
204 as the host slot instead of filling in the host slot from the
205 defaults.
206 - CMUCL/sparc should now run on Solaris 10. This port no longer
207 uses the reserved register %g7 anymore. The heap size is now
208 rounded to a multiple of 8 MB. Without this, CMUCL eventually
209 gets a GC error on Solaris 10 when using gencgc. There appear
210 to be no problems with Cheney GC on Solaris 10.
211 - The config script uses REQUIRE instead of LOAD to load up
212 CMUCL's system libraries so there are no package-lock errors.
213 - REQUIRE no longer disables package-locks when loading
214 requested file. But package-locks are disabled for CMUCL's
215 own system libraries like gray-streams, clx, etc.
216
217 * Improvements to the PCL implementation of CLOS:
218 - AMOP-style custom slot allocation supported.
219
220 * Improvements to Hemlock, the Emacs-like editor:
221
222 * Changes to rebuilding procedure:
223
224 * Deprecated features:
225
226 This release is not binary compatible with code compiled using CMUCL
227 19a; you will need to recompile FASL files.
228
229 See <URL:http://www.cons.org/cmucl/> for download information,
230 guidelines on reporting bugs, and mailing list details.
231
232
233 We hope you enjoy using this release of CMUCL!
234

  ViewVC Help
Powered by ViewVC 1.1.5