Skip to content

Clasp v2.6.0

Latest
Compare
Choose a tag to compare
@yitzchak yitzchak released this 03 Jun 12:32
· 281 commits to main since this release
cbbb755

Version 2.6.0 (LLVM15-18) 2024-06-03

Added

  • LLVM18 support.

Changed

  • Exit with error code when unknown option is present on command line.
  • EVAL now uses bytecode, improving evaluation speed.
  • Bytecode is now simpler for functions with &rest parameters, as well
    as functions that close over arguments.

Fixed

  • Avoid inserting fill newlines after newline format directive in
    logical block format directive.
  • Don't buffer overrun when encoding UCS-4 streams.
  • The bytecode system can properly handle functions with more than
    255 keyword parameters.
  • Bytecode FASLs can contain multidimensional arrays specialized to
    sub-byte integer types.
  • Avoid a double free when translating const char* arguments in the
    C++ bridge.
  • macroexpand does not ignore shadowing function bindings (#1556).
  • BTB compiler can handle closure variables deleted by optimization.
  • (setf elt) calls (setf sequence:elt) properly on extended
    sequences.
  • BTB compiler handles non-constant load-time-values.
  • When set-macro-character is given a non-function, it signals an
    error without breaking the readtable.

Optimized

  • Single dispatch generic functions don't perform redundant argument
    count checks.

Building from Source Archive

Clasp or Cando can now be built from the build archive attached to this release without cloning via git. git is still required during the build but it won't clone or fetch. First download and extract the archive from the attached asset named clasp-2.6.0.tar.gz. Then, from a shell inside the clasp directory of the extracted archive:

$ ./koga --skip-sync
...
$ ninja -C build
...
$ ninja -C build install
...

To build CANDO just add --extensions=cando,seqan-clasp to the koga invocation. For detailed build requirements and instructions please see the wiki.