Versione SBCL 2.3.9, implementazione del linguaggio Common Lisp

È stata pubblicata la versione SBCL 2.3.9 (Steel Bank Common Lisp), un'implementazione open source del linguaggio di programmazione Common Lisp. Il codice del progetto è scritto in Common Lisp e C, ed è distribuito con licenza BSD.

Nel nuovo rilascio:

  • L'allocazione dello stack tramite DYNAMIC-EXTENT ora si applica non solo al binding iniziale, ma a tutti i valori che una variabile può assumere (ad esempio, tramite SETQ). Questo permette, ad esempio, di semplificare la costruzione di strutture complesse o ricorsive nello stack attraverso iterazioni.
  • Alcuni interfacce nel modulo SB-POSIX sono state allineate con la specifica e il risultato NULL dalla libreria C è considerato un errore solo quando errno è modificato dalla chiamata. In questo caso verrà generato un segnale SYSCALL-ERROR.
  • È stato migliorato il funzionamento dei macro DO-PASSWDS e DO-GROUPS nel modulo SB-POSIX. Questi macro sono progettati per lavorare in modo sicuro con il database di password e gruppi.
  • Ripristinato il supporto per le piattaforme Darwin x86 e PowerPC (grazie a Kirill A. Korinskiy, Sergey Fedorov e barracuda156).
  • Corretto un errore di compilazione che si verificava a causa di un'erronea deduzione di tipo durante la moltiplicazione di valori fixnum per valori frazionari.
  • Corretto un errore del compilatore che si verifica in alcuni casi durante il controllo di valori a 64 bit con e senza segno.
  • Corretto un errore del compilatore nel caso in cui l'argomento «:INITIAL-CONTENTS» per MAKE-ARRAY sia una costante non-sequenza.
  • Corretto un errore di compilazione delle funzioni di riduzione in una costante di sequenza definita quando viene restituito un valore falso dalle funzioni «:TEST» o «:KEY».
  • Corretto un errore di compilazione delle funzioni di array o sequenza con argomenti che implicano dimensioni molto grandi della sequenza.
  • Corretto un errore del compilatore che si verifica quando non viene utilizzato il valore restituito da ADJUST-ARRAY.
  • Ottimizzato l'output dei tipi di funzioni del compilatore che possono propagarsi all'indietro attraverso la rappresentazione intermedia.
  • Migliorato l'output dei tipi per LDB, LOGBITP e RATIO.
  • Sono state apportate ottimizzazioni relative all'eliminazione di controlli di confine superflui per molti casi di confronti transitivi.

Fonte: opennet.ru

Acquista un hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista un hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster