Lançamento do SBCL 2.4.2, implementação da linguagem Common Lisp.

Foi lançado o SBCL 2.4.2 (Steel Bank Common Lisp), uma implementação livre da linguagem de programação Common Lisp. O código do projeto é escrito em Common Lisp e C, e é distribuído sob a licença BSD.

No novo lançamento:

  • A compilação do sistema por si mesmo em sistemas x86-64 com Linux agora produz fasls cruzados idênticos bit a bit onde o host de compilação é cmucl, ccl, clisp ou sbcl.
  • Otimizações:
    • Um grande número de tabelas internas, especialmente aquelas relacionadas ao suporte a Unicode, foram convertidas para usar funções de hash livres de colisões (perfeitas), o que melhorou a velocidade e reduziu o tamanho.
    • FIND, POSITION, ASSOC e RASSOC com argumentos de sequência imutável contendo símbolos como chaves agora são compilados para busca usando hashes livres de colisões.
    • Em sistemas x86-64, o compilador garante a eliminação do salto jump-to-jump.
  • Correções de bugs:
    • A funcionalidade de herança de SEQUENCE e de SB-MOP:FUNCALLABLE-STANDARD-OBJECT foi restaurada.
    • COERCE não converterá formas lambda em funções se o tipo nomeado for uma subclasse de FUNCTION.
    • LOG com argumentos double-float e racionais (em qualquer ordem) não perde precisão através de um argumento intermedio single-float.
    • LOG com base 2 de uma potência inteira de 2 provavelmente dará uma resposta matematicamente exata.
    • LOG em números racionais próximos de um com numerador ou denominador próximo de uma potência de 2 usará log1p e, assim, perderá menos precisão.
    • O formato externo utf-8 com quebras de linha Unix atualiza a informação sobre o tamanho dos caracteres ao aplicar um caminho rápido para buffers de caracteres ASCII.
    • O conteúdo de cons que provavelmente é mais inválido não foi impresso no método PRINT-OBJECT para objetos THREAD.
    • Alocação permanente de pontos de entrada externos para funções antes de quaisquer outras funções locais.
    • Remoção de observações de otimização inativas para formas entre aspas e chamadas unitárias de APPEND em alta velocidade.
    • Um loop infinito em COPY-SEQ em arrays de comprimento zero com tipo de elementos NIL.
    • Correção da compilação de construtores de estruturas não de nível superior.
  • Correções em SB-SIMD:
    • Melhoria da verificação de limites no SB-SIMD.
    • Correção do SB-SIMD AVX f64.4-reverse.
    • Correção de embaralhamento no SB-SIMD em AVX e SSE2.
    • Correção do tempo de vida em VOPs sse+xmm0.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster