ViewVC logotype

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

Parent Directory Parent Directory | Revision Log Revision Log

Revision - (show annotations)
Wed Feb 11 22:02:49 2009 UTC (5 years, 2 months ago) by rtoy
CVS Tags: release-19f-pre1
Changes since 1.30: +0 -2 lines
File MIME type: text/plain
Rip out work-in-progress
1 ========================== C M U C L 19 f =============================
3 The CMUCL project is pleased to announce the release of CMUCL 19f.
4 This is a major release which contains numerous enhancements and
5 bugfixes from the 19e release.
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.
17 New in this release:
20 * Feature enhancements:
21 - ~R supports many more cardinal names.
22 - Updated network support:
23 o Added BIND-INET-SOCKET to bind a socket to a local address.
24 o Added OPEN-NETWORK-STREAM to create a stream connected to a given host.
25 o Added ACCEPT-NETWORK-STREAM to create a stream connected to
26 the new network connection
27 o Updated CONNECT-TO-INET-SOCKET to allow binding the newly
28 created socket to a local address
29 - Added UNIX:UNIX-OPENPTY, an interface to the openpty C library
30 function.
31 - SSE2 support added for x86.
32 o CMUCL automatically detects whether sse2 is supported or not
33 and loads up the appropriate core file.
34 o New -fpu switch allows the user to specify explicitly which
35 core should be used. The valid values are x87, sse2, or auto
36 (the default).
37 o Fasls compiled with sse2 support have the extension sse2f.
38 Otherwise, the normal x86f extension is used. This allows the
39 user to do tests/experiments with both x87 and sse2 without
40 having to mess around with different directories and removing
41 fasls before building for a different FPU.
42 o If the chip supports sse2, but CMUCL can't find the sse2 core,
43 CMUCL will try to fall back to the x87 core. (This only
44 happens if -fpu is auto.)
45 - Command line parsing now recognizes the option "--". Everything
46 after "--" is not subject to CMUCL's command line parsing, and
47 everything after the "--" is placed in the new variable
50 * ANSI compliance fixes:
51 - Fix bug in backquote printer. If the variable is @foo, we want
52 to print ", @foo" not ",@foo". Similarly, for .foo, we want to
53 print ", .foo" instead of ",.foo".
54 - Fix merging of version in MAKE-PATHNAME. If the pathname name
55 is given, the version is not affected by the version in the
56 default pathname.
57 - RENAME-FILE now creates defaulted-new-name from merging new-name
58 with the original filespec. This is an incompatible change from
59 the previous version which created defaulted-new-name from
60 merging the new-name with the truename of filespec. Also, a
61 logical pathname should be returned if new-name is a logical
62 pathname.
63 - Character names need to be a capital letter followed by lower
64 case. Needed to match what ~:C does. (Found via ansi-tests).
66 * Bugfixes:
67 - Compiler can now derive the rank of an array, even if the array
68 is not simple.
69 - Fix off-by-one bug in ~R which prevents printing numbers from
70 10^63 to 10^66-1. 10^63 is a vigintillion.
71 - The compiler and interpreter should now handle slot-value the
72 same. Previously, different results were returned for things
73 like (slot-value foo :a).
74 - UNIX-GETGRNAM is now defined for Darwin (x86 and ppc).
75 - UNIX-GETPWUID is defined for all BSD systems.
76 - Type-derivation for EXPT no longer causes errors in some
77 situations. The computed bounds were of the wrong type for the
78 resulting type specifier.
79 - Pathname printer no longer produces an error for (MAKE-PATHNAME
80 :HOST NIL :TYPE "foo"). It returns #P(:HOST NIL :TYPE "foo")
81 now.
82 - Type derivation for DOUBLE-DOUBLE-FLOAT arithmetic should be
83 working. Previously, all arithmetic operations would just
84 return DOUBLE-DOUBLE-FLOAT even though the compiler should have
85 been able to figure out a tighter result.
86 - When SCALE-FLOAT would underflow, it would always return 0f0,
87 instead of a floating-point zero of the correct type.
88 - Fix some issues in creating the debug arglist string when the
89 arglist contains items that can't be printed readably.
90 - DIRECTORY is now faster for directories with a large number of
91 files.
92 - RANDOM is now much faster on all platforms for numbers upto
93 #xffffffff. This is an incompatible change from previous
94 releases because the numbers produced may be different from
95 before.
96 - The small bias in RANDOM for integer args up to 32 bits long
97 should now be gone.
98 - Improved type derivation for LOGAND when one arg is bounded but
99 the other is not.
100 - Some issues with tracing on sparc and ppc have been fixed. This
101 usually manifests itself with a segfault just after the function
102 result is printed.
103 - Fixed bug on sparc where C-c sometimes causes a segfault. We
104 now handle the case where siginfo_t is NULL, which can also
105 happen on other architectures.
106 - The interpreter catches invalid EVAL-WHEN situations just like
107 the compiler, instead of silently ignoring them.
108 - FLOAT-PRECISION supports double-double floats.
109 - Tracing should now be working on Darwin/x86. Previously,
110 certain cases would cause Lisp to segfault in bad ways where you
111 could not return to the repl.
112 - The bounds for type (REAL lo hi) are computed better now. The
113 REAL type is a union of SINGLE-FLOAT, DOUBLE-FLOAT, and
114 DOUBLE-DOUBLE-FLOAT. The computed bounds for
115 DOUBLE-DOUBLE-FLOAT only had double-float accuracy if the bound
116 for REAL was a rational.
117 - The FLOAT type now requires that the bounds, if given, are
118 floats. Previously, any real type would be accepted. This
119 makes FLOAT behave like SINGLE-FLOAT and DOUBLE-FLOAT which
120 required the bounds to be a float of the appropriate type.
122 * Trac Tickets:
123 - #16: Read-time hash-table issue
124 Fixed.
125 - #17: LOOP NAMED NIL has no effect
126 Fixed.
127 - #18: Modular arith bug 1
128 Fixed
129 - #19: Modular arith bug 2
130 Fixed by not doing modular arith if the args are known to be
131 fixnums.
132 - #20: Modular arith bug?
133 Fixed via the fix for Trac #21. The original workaround has
134 been removed.
135 - #24: Float contagion for expt
136 Float contagion is applied to the arguments before computing
137 expt.
138 - #21: Modular arith bug 3
139 Fixed by delaying the logand defoptimizer.
140 - #15: x86 double-float issue
141 Fixed when using SSE2 support. We will not fix this for x87.
142 - #25: Compiler bug
143 Fixed.
144 - #26: slot-value type check
145 Fixed for some cases. When used in methods, slot-value may not
146 do the type check.if the object is not a argument to the method.
147 - #29: make-condition doesn't accept class objects
148 Fixed.
150 * Other changes:
151 - IS1, IS2, IS3, and IS4 are recognized character names for the
152 ASCII control codes US, RS, GS, FS, respectively.
154 - When initializing a random state, try to read 627 words from
155 /dev/urandom to initialize the entire state vector with random
156 bits. Previously, only one word was read.
157 - A seed of 0 is allowed in KERNEL:INIT-RANDOM-STATE.
158 - Updated User guide to include more examples of tracing.
159 - Enable gencgc page protection on x86/darwin. This can speed up
160 GC a bit. (Not measured.)
161 - Bignum truncate is significantly faster. Some cl-bench
162 benchmarks are now almost twice as fast.
163 - The continuable error produced by raising an integer to a power
164 exceeding *intexp-maximum-exponent* is now a restart, giving the
165 user the option to continue and update the limit to the new
166 power.
167 - The Darwin/x86 port can run on Mac OS X 10.4 or later.
169 * Improvements to the PCL implementation of CLOS:
170 - The compiler and interpreter should handle SLOT-VALUE the same
171 way. Previously, (SLOT-VALUE obj :a) would behave differently
172 in the compiler and interpreter.
173 - Some issues with get-accessor-method-function and
174 slot-value-using-class have been fixed.
175 Get-accessor-method-function was causing an error to be signaled
176 incorrectly.
177 - (setf (slot-value <obj> <slot>) <new>) will now signal an error
178 in some situations when the new value is not of the correct
179 declared type for slot.
181 * Changes to building procedure:
182 - For Linux, custom CFLAGS, CC, and LDFLAGS are supported.
183 Requested by Stelian Ionescu for Gentoo support.
184 - The FreeBSD config file is now named Config.x86_freebsd, which
185 is equivalent to Config.FreeBSD_gencgc, which is deprecated.
186 - The Linux config file is now named Config.x86_linux, which is
187 the equivalent to Config.linux_gencgc, which is deprecated.
189 This release is not binary compatible with code compiled using CMUCL
190 19e; you will need to recompile FASL files.
192 See <URL:http://www.cons.org/cmucl/> for download information,
193 guidelines on reporting bugs, and mailing list details.
196 We hope you enjoy using this release of CMUCL!

  ViewVC Help
Powered by ViewVC 1.1.5