Обявен е изданието на SBCL 2.4.0 (Steel Bank Common Lisp), свободна реализация на програмния език Common Lisp. Кодът на проекта е написан на езиците Common Lisp и C и се разпространява под лицензия BSD.
В новото издание:
- Промени, нарушаващи съвместимостта:
- *COMPILE-VERBOSE* и *LOAD-VERBOSE* привязаны к NIL при запуске системы с аргументом командной строки «—script».
- при поиске core-файла, система проверяет корректность того, что указано в /proc/self/exe, и, если /proc/self/exe окажется некорректным, то проверяет argv[0].
- система больше не предоставляет имена типов для стандартных (CL) символов ARRAY-RANK, ARRAY-TOTAL-SIZE, PATHNAME-HOST, PATHNAME-TYPE, PATHNAME-DIRECTORY, FLOAT-RADIX или FLOAT-DIGITS.
- Поддержка платформ:
- На системах arm64 предоставлена возможность включения параллельного сборщика мусора, использующего алгоритм mark-region.
- Решены проблемы со сборкой в новых выпусках FreeBSD.
- Корекции на грешки:
- Восстановлена корректность вывода типа компилятором при вызовах REDUCE с «:INITIAL-VALUE» но без «:FROM-END».
- Устранена ошибка компилятора при объявлении «SB-EXT:MUFFLE-CONDITIONS» для неизвестного типа.
- В некоторых случаях дизассемблер выводил некрасиво отформатированный вывод для регистров.
- Немного снижена вероятность повторного исчерпания стека системой при выводе ошибки об исчерпании контрольного стека;
- Оптимизации:
- Во многих случаях устранены барьеры записи в сборщике мусора.
- Улучшен вывод типов для итерационных переменных со смешанными типами.
- Удалены неиспользуемые инициализационные значения для LET привязок, улучшен выбор типа регистров.
- Снижены EQUALP/EQUAL/EQL до EQL/EQ в FIND/MEMBER, основываясь на вводных типах.
- Улучшен вывод типа для DPB, LOGIOR.
Източник: opennet.ru
