Foi lançado o SBCL 2.4.0 (Steel Bank Common Lisp), uma implementação livre da linguagem de programação Common Lisp. O código do projeto é escrito nas linguagens Common Lisp e C, sendo distribuído sob a licença BSD.
No novo lançamento:
- Mudanças que quebram compatibilidade:
- *COMPILE-VERBOSE* e *LOAD-VERBOSE* estão vinculados a NIL ao iniciar o sistema com o argumento de linha de comando "--script".
- na busca pelo arquivo core, o sistema verifica a validade do que está especificado em /proc/self/exe e, se /proc/self/exe estiver incorreto, verifica argv[0].
- o sistema não fornece mais nomes de tipos para os símbolos padrão (CL) ARRAY-RANK, ARRAY-TOTAL-SIZE, PATHNAME-HOST, PATHNAME-TYPE, PATHNAME-DIRECTORY, FLOAT-RADIX ou FLOAT-DIGITS.
- Suporte a plataformas:
- Em sistemas arm64, foi adicionada a opção de ativar o coletor de lixo paralelo, que utiliza o algoritmo mark-region.
- Problemas de construção em novas versões do FreeBSD foram resolvidos.
- Correções de bugs:
- A precisão da saída de tipo pelo compilador foi restaurada em chamadas de REDUCE com ":INITIAL-VALUE" mas sem ":FROM-END".
- Corrigido um erro do compilador ao declarar "SB-EXT:MUFFLE-CONDITIONS" para um tipo desconhecido.
- Em alguns casos, o desassemblador produzia uma saída mal formatada para registros.
- A probabilidade de esgotamento da pilha pelo sistema durante a exibição de um erro de esgotamento de pilha foi levemente reduzida;
- Otimizações:
- Em muitos casos, barreiras de gravação no coletor de lixo foram removidas.
- A saída de tipos para variáveis iterativas com tipos mistos foi melhorada.
- Valores de inicialização não utilizados para vinculações LET foram removidos, melhorando a seleção de tipo dos registros.
- EQUALP/EQUAL/EQL foram reduzidos a EQL/EQ em FIND/MEMBER, com base nos tipos de entrada.
- A saída de tipo para DPB, LOGIOR foi aprimorada.
Fonte: opennet.ru
