Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
cmucl
cmucl
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 27
    • Issues 27
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 2
    • Merge Requests 2
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Analytics
    • Analytics
    • CI/CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • cmucl
  • cmuclcmucl
  • Wiki
  • Home

Last edited by Raymond Toy Jan 30, 2021
Page history

Home

Welcome to the CMUCL Wiki

CMUCL is a free implementation of the Common Lisp programming language which runs on most major Unix platforms. It mainly conforms to the ANSI Common Lisp standard. Here is a summary of its main features:

  • support for static arrays that are never moved by GC but are properly removed when no longer referenced.
  • Unicode support, including many of the most common external formats such as UTF-8 and support for handling Unix, DOS, and Mac end-of-line schemes.
  • native double-double floats including complex double-double floats and specialized arrays for double-double floats and and complex double-double floats that give approximately 106 bits (32 digits) of precision.
  • a sophisticated native-code compiler which is capable of powerful type inferences, and generates code competitive in speed with C compilers.
  • generational garbage collection on all supported architectures.
  • multiprocessing capability on the x86 ports.
  • a foreign function interface which allows interfacing with C code and system libraries, including shared libraries on most platforms, and direct access to Unix system calls.
  • support for interprocess communication and remote procedure calls.
  • an implementation of CLOS, the Common Lisp Object System, which includes multimethods and a metaobject protocol.
  • a graphical source-level debugger using a Motif interface, and a code profiler.
  • an interface to the X11 Window System (CLX), and a sophisticated graphical widget library (Garnet, available separately).
  • programmer-extensible input and output streams (Gray Streams and simple-streams).
  • an Emacs-like editor, Hemlock, implemented in Common Lisp.
  • freely redistributable: free, with full source code (most of which is in the public domain) and no strings attached (and no warranty). Like the GNU/Linux and *BSD operating systems, CMUCL is maintained and improved by a team of volunteers collaborating over the Internet.

Latest News

Snapshot 2021-01

The 2021-01 snapshot has been released. See the release notes for details, but here is a quick summary of the changes between this snapshot and the previous snapshot.

  • Gitlab tickets
    • #86 (closed) Building with gcc 8 and later works when using -O2 optimization
    • #90 (closed) Some static symbols have been removed. This probably makes the fasl files incompatible with older versions.
    • #91 (closed) Loop destructuring no longer incorrectly signals an error
    • #95 (closed) Disassembler syntax of x86 je and movzx is incorrect
    • #98 (closed) fstpd is not an Intel instruction; disassemble as fstp dword ptr [addr]
    • #100 (closed) ldb prints out unicode base-chars correctly instead of just the low 8 bits.

2020-11-28

The sparc port is now up-to-date and the 2020-04 snapshots have been uploaded.

Snapshot 2020-04

The 2020-04 snapshot has been released. See the release notes for details, but here is a quick summary of the changes between this snapshot and the previous snapshot.

  • Changes

    • Updated to ASDF 3.3.4
  • Gitlab tickets

    • #79 (closed) Autoload ASDF when calling REQUIRE the first time. User's no longer have to explicitly load ASDF anymore.
    • #80 (closed) Use ASDF to load contribs. cmu-contribs still exists but does nothing. The contrib names are the same, except it's best to use a keyword instead of a string. So, :contrib-demos instead of "contrib-demos".
    • #81 (closed) Added contribs from Eric Marsden

Snapshot 2019-06

The 2019-06 snapshot has been released. See the release notes for details, but here is a quick summary of the changes between this snapshot and the previous snapshot.

  • Changes

    • Updated to ASDF 3.3.3
  • Gitlab tickets

    • #73 (closed) Update clx to upstream sharplispers/clx
    • #68 (closed) Can't build with Fedora 28 and gcc 8.1.1

Release 21d

CMUCL 21d has been released, For information on the changes between 21d and 21c, we refer the reader to the release notes.

Snapshot 2018-03

The 2018-03 snapshot has been released. See the release notes for details, but here is a quick summary of the changes between this snapshot and the previous snapshot.

  • Gitlab tickets
    • #60 (closed) The function C::%UNARY-FROUND is undefined
    • #58 (closed) Bogus type error in comparison of complex number with THE form
    • #61 (closed) Segfault when compiling call to ARRAY-HAS-FILL-POINTER-P on bit vector constant
    • #62 (closed) Segfault when compiling ARRAY-DISPLACEMENT on a string constant

Snapshot 2018-02

The 2018-02 snapshot has been released. See the release notes for details, but here is a quick summary of the changes between this snapshot and the previous snapshot.

  • Changes:

  • Updated CLX to latest upstream version

  • Gitlab tickets

  • Ticket #50 (closed) CLX (Hemlock) fails to run.

  • Ticket #49 (closed) CLM crashes

  • Ticket #47 (closed) Backquote and multiple splices

  • Ticket #59 (closed) Incorrect type-derivation for decode-float

Snapshot 2018-01

The 2018-01 snapshot has been released. See the release notes for details, but here is a quick summary of the changes between this snapshot and the previous snapshot.

  • Changes:
  • ASDF 3.3.1
  • Random number generator changed from MT19937 to xoroshiro128+
    • This new generator is faster and uses significantly fewer bits of state.

Release 21c

CMUCL 21c has been released, For information on the changes between 21c and 21b, we refer the reader to the release notes.

Snapshot 2017-10

The 2017-10 snapshot has been released. See the release notes for details, but here is a quick summary of the changes between this snapshot and the previous snapshot.

  • Changes:

  • ASDF 3.3.0

  • Bugfixes:

  • Fix some compiler warnings and clean up funny indentation in asin code.

  • Gitlab tickets:

  • Ticket #40 (closed): Move heap space location for linux

  • Ticket #41 (closed): Report proper process status

  • Ticket #44 (closed): Add docstrings for process accessors

Snapshot 2017-04

The 2017-04 snapshot has been released. See the release notes for details, but here is a quick summary of the changes between this snapshot and the previous snapshot.

  • ASDF 3.2.1
  • FreeBSD 10 binaries are available once again, thanks to Fred Gilham. This includes binaries for 21b and snapshot-2017-03

Snapshot 2017-03

The 2017-03 snapshot has been released. See the release notes for details, but here is a quick summary of the changes between this snapshot and the previous snapshot.

  • ASDF 3.2.0

Snapshot 2017-01

The 2017-01 snapshot has been released. See the release notes for details, but here is a quick summary of the changes between this snapshot and the previous snapshot.

  • Ticket #34 (closed) fixed: Sparc build fails test issues-tests::issue.25a
  • Ticket #38 (closed) fixed: Don't use unix:unix-times
  • bin/make-dist.sh options have changed. The positional args for the version, architecture, and os are removed in favor of switches -V, -A, and -o, respectively.

Snapshot 2016-12

The 2016-12 snapshot has been released. See the release notes for details, but here is a quick summary of the changes between this snapshot and the previous snapshot.

  • Ticket #36 (closed) fixed: encode-universal-time signals error
  • Ticket #26 (closed) fixed: The cmucl that never sleeps

Release 21b

CMUCL 21b has been released, For information on the changes between 21b and 21a, we refer the reader to the release notes.

Snapshot 2016-09

The 2016-09 snapshot has been released. See the release notes for details, but here is a quick summary of the changes between this snapshot and the previous snapshot.

  • Ticket #25 (closed) fixed: Issue with ext:run-program and string streams (related to character sizes?)
  • Ticket #27 (closed) fixed: Regression: ASDF test failures
  • Ticket #28 (closed) fixed: Recursive function definition during cross-compile

1In particular, the fix for #25 (closed) means that input and output string streams passed to RUN-PROGRAM should be processed by STRING-ENCODE and STRING-DECODE before handing the string stream to the process and when reading the string back from the process.

Snapshot 2016-06

The 2016-06 snapshot has been released. See the release notes for details, but here is a quick summary of the changes between this snapshot and the previous snapshot.

  • Issue #22 (closed) fixed: Incorrect coercion to float
  • The binding stack and control stacks are no longer allocated at fixed memory addresses on x86/linux, x86/darwin, and sparc/solaris. This should not cause any visible changes.

Snapshot 2016-05

The 2016-05 snapshot has been released. See the release notes for details, but here is a quick summary of the changes between this snapshot and the previous snapshot.

  • ASDF updated to version 3.1.7

Snapshot 2016-03

The 2016-03 snapshot has been released. See the release notes for details, but here is a quick summary of the changes between this snapshot and the previous snapshot.

  • The maximum heap (dynamic-space-size) has been reduced on Linux to 1530 MB to accommodate 32-bit Ubuntu 11.10

Snapshot 2016-02

The 2016-02 snapshot has been released. See the release notes for details, but here is a quick summary of the changes between this snapshot and the previous snapshot.

  • Handling of floating-point exceptions is improved. Previously, the FP modes were sometimes incorrectly restored and the ARITHMETIC-ERROR handler was unable to print FP values.
  • A few docstrings have been corrected and updated with more information.

Snapshot 2016-01

The 2016-01 snapshot has been released. See the release notes for details, but here is a quick summary of the changes between this snapshot and the previous snapshot.

  • ASDF 3.1.6.9, to fix an issue with merging (USER-HOMEDIR-PATHNAME) with other pathnames.
  • Added EXT:WITH-FLOAT-TRAPS-ENABLED to complement WITH-FLOAT-TRAPS-MASKED.
  • (EXPT 0 POWER) doesn't throw INTEXP-LIMIT-ERROR anymore for any integer value of POWER
  • Starting cmucl with -dynamic-space-size 0 now allocates the largest possible heap size for the platform.
  • PATHNAME-MATCH-P accepts search-lists instead of signaling an error. (See ticket #16 (closed).)
  • Cmucl can now compile and run when compiled using XCode 7.2 (and newer versions of clang). (See ticket #12 (closed).)

Snapshot 2015-12

The 2015-12 snapshot has been released. See the release notes for details, but here is a quick summary of the changes between this snapshot and the previous snapshot.

  • Added UNIX-SETITIMER back in for Linux. This was preventing cores from being saved.
  • Updated lisp-unit
  • Micro-optimization for some modular shifts on x86.

Snapshot 2015-11

The 2015-11 snapshot has been released. See the release notes for details, but here is a quick summary of the changes between this snapshot and the previous snapshot.

  • Updated ASDF to version 3.1.6
  • Support for ASDF static-image-op
  • Issue #10 (closed) fixed: (setf aref) for 1, 2, and 4-bit arrays
  • Unification of UNIX package between linux and all other operating systems.

Release 21a

CMUCL 21a has been released, For information on the changes between 21a and 20f, we refer the reader to the release notes.

Because of the release, there will not be a 2015-10 snapshot.

Older News

You can find some OldNewsPost20f, OldNewsPost20e, OldNewsPost20d, OldNewsPost20c, OldNewsPost20b and some much older news.

Additional Information

The official web presence is at www.cmucl.org with mirrors at www.cons.org/cmucl and at common-lisp.net/project/cmucl/mirror. There may be some duplication between the wiki and the web pages; the wiki tends to be more up-to-date.

Other news can be found here. Or you can look here to find out where to download binaries such as the 20d binaries or a snapshot.

  • GettingCmucl
  • CMUCL FAQ
  • InstallingCmucl
  • GitAndCmucl
  • GitAndTracIntegration
  • BuildingCmucl
  • TipsAndTricks
  • CmuclDocumentation
  • UpdatingUnicode
  • LispUnit
  • ReleaseNotes
  • HowToUpdateCMUCLVersion

For a complete list of local wiki pages, see TitleIndex.

Clone repository
  • AnalyzingMemoryUsage
  • BuildingCmucl
  • ChangeCmuclPrompt
  • CmuclDesign
  • CmuclDocumentation
  • CustomCommandLineSwitches
  • FAQ
  • FeatureList
  • GettingCmucl
  • GitAndCmucl
  • GitAndTracIntegration
  • HistoryOfTheCMUCLProject
  • Home
  • InstallingCmucl
  • LispUnit
View All Pages