S'ha publicat el llançament de SBCL 2.3.9 (Steel Bank Common Lisp), una implementació gratuïta del llenguatge de programació Common Lisp. El codi del projecte està escrit en Common Lisp i C, i es distribueix sota la llicència BSD.
A la nova versió:
- L'assignació de pila mitjançant DYNAMIC-EXTENT ara s'aplica no només a l'enllaç inicial, sinó també a tots els valors que la variable pot prendre (per exemple, mitjançant SETQ). Això fa possible, per exemple, simplificar la construcció d'estructures complexes o recursives en una pila mitjançant la iteració.
- Algunes interfícies del mòdul SB-POSIX s'ajusten a l'especificació, i un resultat NULL de la biblioteca C es considera un error si i només si la trucada canvia errno. En aquest cas, es generarà el senyal SYSCALL-ERROR.
- Millora del funcionament de les macros DO-PASSWDS i DO-GROUPS al mòdul SB-POSIX. Aquestes macros estan dissenyades per funcionar de manera segura amb la contrasenya i la base de dades del grup.
- S'ha restaurat el suport per a les plataformes Darwin x86 i PowerPC (gràcies a Kirill A. Korinsky, Sergey Fedorov i barracuda156).
- S'ha solucionat la compilació incorrecta que es produïa a causa d'una inferència de tipus errònia en multiplicar els valors fixnum per valors fraccionaris.
- S'ha corregit un error del compilador que es produïa en alguns casos en comprovar valors de 64 bits signats i sense signar.
- S'ha solucionat un error del compilador quan l'argument ":INITIAL-CONTENTS" de MAKE-ARRAY és una constant que no era de seqüència.
- S'ha corregit un error en la compilació de funcions de convolució en una constant de seqüència determinada quan es retornava un valor fals de les funcions ":TEST" o ":KEY".
- S'ha corregit un error en compilar funcions de matriu o seqüències amb arguments que implicaven mides de seqüències molt grans.
- S'ha corregit un error del compilador que es produïa quan no s'utilitzava el valor retornat per ADJUST-ARRAY.
- Inferència del compilador optimitzada de tipus de funcions que es poden propagar cap enrere mitjançant una representació intermèdia.
- Inferència de tipus millorada per a LDB, LOGBITP i RATIO.
- S'han fet optimitzacions per eliminar les comprovacions de límits innecessàries per a molts casos de comparacions transitives.
Font: opennet.ru