Lanzamiento de SBCL 2.3.9, implementación del lenguaje Common Lisp

Se ha publicado el lanzamiento de SBCL 2.3.9 (Steel Bank Common Lisp), una implementación libre del lenguaje de programación Common Lisp. El código del proyecto está escrito en Common Lisp y C, y se distribuye bajo licencia BSD.

En esta nueva versión:

  • La asignación de la pila a través de DYNAMIC-EXTENT ahora se aplica no solo a la vinculación inicial, sino a todos los valores que puede tomar la variable (por ejemplo, a través de SETQ). Esto permite, por ejemplo, simplificar la construcción de estructuras complejas o recursivas en la pila mediante iteraciones.
  • Algunas interfaces en el módulo SB-POSIX se han ajustado a la especificación y el resultado NULL de la biblioteca C se considera un error solo cuando errno ha sido modificado por una llamada. En este caso, se generará la señal SYSCALL-ERROR.
  • Se ha mejorado el funcionamiento de los macros DO-PASSWDS y DO-GROUPS en el módulo SB-POSIX. Estos macros están diseñados para trabajar de manera segura con la base de datos de contraseñas y grupos.
  • Se ha restaurado el soporte para las plataformas Darwin x86 y PowerPC (agradecemos a Kirill A. Korinsky, Sergey Fedorov y barracuda156).
  • Se ha corregido una compilación incorrecta que ocurría debido a una salida de tipo errónea al multiplicar valores fixnum por valores de punto flotante.
  • Se ha corregido un error en el compilador que ocurría en algunos casos al verificar valores de 64 bits con signo y sin signo.
  • Se ha corregido un error en el compilador en el caso de que el argumento ':INITIAL-CONTENTS' para MAKE-ARRAY sea una constante que no es una secuencia.
  • Se ha corregido un error de compilación de funciones que aplastaban (fold) a una constante de secuencia dada al retornar un valor falso de las funciones ':TEST' o ':KEY'.
  • Se ha corregido un error de compilación de funciones de arreglos o secuencias con argumentos que implican tamaños de secuencia muy grandes.
  • Se ha corregido un error en el compilador que ocurría cuando no se utilizaba el valor devuelto de ADJUST-ARRAY.
  • Se ha optimizado la salida de tipos de funciones en el compilador, que pueden ser propagados hacia atrás a través de la representación intermedia.
  • Se ha mejorado la salida de tipos para LDB, LOGBITP y RATIO.
  • Se han realizado optimizaciones relacionadas con la eliminación de comprobaciones de límites innecesarias en muchos casos de comparaciones transitivas.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster