Llançament de SBCL 2.3.9, una implementació del llenguatge Common Lisp

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

Afegeix comentari