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.