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 26
    • Issues 26
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 1
    • Merge Requests 1
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • cmucl
  • cmuclcmucl
  • Wiki
  • Release21a

Last edited by Raymond Toy Oct 02, 2015
Page history

Release21a

========================== C M U C L 21 a =============================

The CMUCL project is pleased to announce the release of CMUCL 21a. This is a major release which contains numerous enhancements and bug fixes from the 20f 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.

New in this release:

  • Known issues:

  • Feature enhancements

    • The darwin/ppc port can create executables now. Current implementation is rather buggy, though.
  • Changes

    • Micro-optimize SCALE-FLOAT to do multiplication when possible.
    • Update to ASDF 3.1.5.
    • The external-format :UTF is no longer an alias for :UTF-8.
    • :ELF feature added for solaris.
    • LISP:WITH-STRING-CODEPOINT-ITERATOR added to iterate over the codepoints in a string. This works the same as WITH-HASH-TABLE-ITERATOR.
    • LISP:WITH-STRING-GLYPH-ITERATOR added to iterate over the glyphs in a string. Works like WITH-HASH-TABLE-ITERATOR.
    • LOOP supports new extended keywords
      • (loop for cp being the codepoint of string ...)
        • codepoints, code-point, and code-points are aliases for codepoint.
      • (loop for g-string being the glpyh of string ...)
        • glyphs is an alias for glpyh.
    • The UNIX package has been split into two parts. By default the UNIX package contains just enough to build CMUCL. If you want the rest of the functionality, use (require :unix).
    • Added clx-inspector module.
    • ASDF documentation included in html, info, and pdf formats in contrib/asdf/doc/.
    • If -quiet is given, don't print out the herald, even if the user init files add things to the herald. (Previously, these would get printed out.) Also, -quiet no longer removes the herald items; you can sill print out the entire herald using (print-herald)
  • ANSI compliance fixes:

    • See Issue #3 (closed), #4 (closed), #5 (closed), #7 (closed).
  • Bugfixes:

    • On ppc machines with clock speeds over 2 GHz or so, LISP::CYCLES-PER-TICK is no longer negative. This caused the cycle count from TIME to be negative.
    • EXTERN-ALIEN-NAME unified not to prepend an underscore if :ELF is a *FEATURE*.
    • Motifd will work as either a 32-bit or 64-bit app.
    • Various bugs in clm fixed:
      • Occasional RXmStringGetLtoR crash fixed.
      • Motifd text callback fixed.
    • Support for 64-bit time_t on NetBSD added. This allows cmucl to run on more recent versions of NetBSD.
    • The empty package LOOP has been removed.
    • Executables on x86 can be created once again. This ability was inadvertently broken when x86 support was removed.
    • (log number base) no longer generates an error when one of the args is a double-double.
    • Fix bug in kernel::dd-%log2 which returned the wrong value.
    • More accurate values for (log x 2) and (log x 10):
      • Add log10 implementation for double-doubles so that log10(10^n) = n for integer n.
      • An accurate log2 function added so that log2(2^n) = n.
    • All unit tests pass successfully on darwin/x86, linux/x86, and solaris/sparc. Darwin/ppc fails most of the tests dealing with exceptions for the special functions.
    • Fix compiler warnings in motif about destructive functions discarding their results.
    • Move back some UNIX functionality back into the core. asdf wants unix-getenv and slime wants unix-execve and unix-fork.
    • Increase *ERROR-PRINT-LINES* to 10.
    • Updated FreeBSD 9.3 support for building motifd.
    • Issue #4 (closed) updated:
      • ELT did not terminate when the index was negative.
  • Trac Tickets:

    • Ticket #54 fixed.
    • Ticket #95 fixed.
    • Ticket #110 fixed.
    • Ticket #112 fixed.
  • Gitlab tickets:

    • Issue #1 (closed): Handle funcall in compiler macro functions.
    • Issue #5 (closed): Give better error message when using T in CASE.
    • Issue #4 (closed): ELT on lists does not signal an error when given invalid index.
    • Issue #3 (closed): Shadowing compiler macro functions.
    • Issue #7 (closed): Local functions and get-setf-expansions
    • Issue #8 (closed): Constants and top-level code
  • Other changes:

    • Cross compile scripts from x86 to sparc and ppc updated to work again to cross-compile from the current snapshot.
    • motifd is a 64-bit binary on linux again, instead of 32-bit.
  • Improvements to the PCL implementation of CLOS:

  • Changes to building procedure:

    • Dependencies for motifd are autogenerated.
    • Cross compile from darwin/x86 to solaris/x86 fixed to work correctly.

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

See http://www.cmucl.org or http://trac.common-lisp.net/cmucl for download information, guidelines on reporting bugs, and mailing list details.

We hope you enjoy using this release of CMUCL!

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