release-21d.md 3.13 KB
Newer Older
Raymond Toy's avatar
Raymond Toy committed
1
# CMUCL 21d
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

The CMUCL project is pleased to announce the release of CMUCL 21c.
This is a major release which contains numerous enhancements and bug
fixes from the 21a release.

CMUCL is a free, high performance implementation of the Common Lisp
programming language which runs on most major Unix platforms. It
mainly conforms to the ANSI Common Lisp standard. CMUCL provides a
sophisticated native code compiler; a powerful foreign function
interface; an implementation of CLOS, the Common Lisp Object System,
which includes multi-methods and a meta-object protocol; a
source-level debugger and code profiler; and an Emacs-like editor
implemented in Common Lisp. CMUCL is maintained by a team of
volunteers collaborating over the Internet, and is mostly in the
public domain.

Raymond Toy's avatar
Raymond Toy committed
18
## New in this release:
19
  * Known issues:
Raymond Toy's avatar
Raymond Toy committed
20
21
    * Building with gcc8 or later doesn't work with the default -O option. Use -O1 instead.  This shouldn't really impact overall speed much.
    * Added simple support to compile with clang instead, which works. (Use x86_linux_clang).
22
  * Feature enhancements
Raymond Toy's avatar
Raymond Toy committed
23
    * Update to ASDF 3.3.3
24
  * Changes
Raymond Toy's avatar
Raymond Toy committed
25
26
27
28
    * x86 and sparc have replaced the MT19937 RNG with xoroshiro128+ RNG.
      * The required state for this generator is just 4 32-bit words instead of the 600+ for MT19937.
      * The generator is also faster than MT19937 (approximately 28% faster on x86 and 18% on sparc).
      * The new function `KERNEL:RANDOM-STATE-JUMP` modifies the given state to jump 2^64 samples ahead, allowing 2^64 non-overlapping sequences.
Raymond Toy's avatar
Raymond Toy committed
29
    * Updated CLX to telent clx version 06e39a0d.
Raymond Toy's avatar
Raymond Toy committed
30
    * New functions `SET-GC-ASSERTIONS` and `GET-GC-ASSERTIONS`.  See the docstrings for more information and also ~~#69~~.
31
    * `MACHINE-TYPE` and `MACHINE-VERSION` return more information about thep rocessor cmucl is running on, using information from the `cpuid` instruction.
32
33
34
  * ANSI compliance fixes:
  * Bug fixes:
  * Gitlab tickets:
Raymond Toy's avatar
Raymond Toy committed
35
36
    * ~~#48~~ Update RNG from MT19937 to xoroshiro128+
    * ~~#45~~ Handling of relative paths in `EXT:RUN-PROGRAM`
37
38
39
40
41
    * ~~#50~~ CLX (Hemlock) fails to run.
    * ~~#49~~ CLM crashes
    * ~~#47~~ Backquate and multiple splices
    * ~~#59~~ Incorrect type-derivation for `decode-float`
    * ~~#60~~ The function `C::%UNARY-FROUND` is undefined
42
    * ~~#58~~ Bogus type error in comparison of complex number with `THE` form
43
44
    * ~~#61~~ Segfault when compiling call to `ARRAY-HAS-FILL-POINTER-P` on bit vector constant
    * ~~#62~~ Segfault when compiling `ARRAY-DISPLACEMENT` on a string constant
Raymond Toy's avatar
Raymond Toy committed
45
    * ~~#69~~ GC assertions compiled in and allow user to enable them.
Raymond Toy's avatar
Raymond Toy committed
46
    * ~~#71~~ More info for `MACHINE-TYPE` and `MACHINE-VERSION` for x86
Raymond Toy's avatar
Raymond Toy committed
47
    * ~~#73~~ Update clx from upstream clx
48
49
50
51
52
53
54
  * Other changes:
  * Improvements to the PCL implementation of CLOS:
  * Changes to building procedure:

This release is not binary compatible with code compiled using CMUCL
21c; you will need to recompile FASL files.

Raymond Toy's avatar
Raymond Toy committed
55
56
See http://www.cmucl.org or
https://gitlab.common-lisp.net/cmucl/cmucl for more information,
57
See
Raymond Toy's avatar
Raymond Toy committed
58
https://gitlab.common-lisp.net/cmucl/cmucl/wikis/GettingCmucl
59
60
61
62
for obtaining CMUCL, including sources and binaries..


We hope you enjoy using this release of CMUCL!