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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.30.2.1 - (show annotations)
Wed Feb 11 22:02:49 2009 UTC (5 years, 2 months ago) by rtoy
Branch: RELEASE-19F-BRANCH
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 =============================
2
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.
6
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
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
48 EXT:*COMMAND-LINE-APPLICATION-ARGUMENTS*.
49
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).
65
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.
121
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.
149
150 * Other changes:
151 - IS1, IS2, IS3, and IS4 are recognized character names for the
152 ASCII control codes US, RS, GS, FS, respectively.
153 - Added OPEN-NETWORK-STREAM and ACCEPT-NETWORK-STREAM functions.
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.
168
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.
180
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.
188
189 This release is not binary compatible with code compiled using CMUCL
190 19e; you will need to recompile FASL files.
191
192 See <URL:http://www.cons.org/cmucl/> for download information,
193 guidelines on reporting bugs, and mailing list details.
194
195
196 We hope you enjoy using this release of CMUCL!
197

  ViewVC Help
Powered by ViewVC 1.1.5