CHICKEN Scheme 6.0.0: alineación con R7RS-small, UTF-8 interno y FFI reforzado

Fuentes: CHICKEN Scheme 6.0.0: R7RS-small core, internal UTF-8 and overhauled FFI

CHICKEN Scheme publica su versión 6.0.0, un salto mayor en el que el núcleo adopta los módulos definidos por el estándar R7RS-small. La representación interna de cadenas pasa a UTF-8, lo que aporta soporte pleno para Unicode, y los blobs se reemplazan por el módulo (chicken bytevector), compatible con R7RS y plenamente equivalente a los u8vectors de SRFI-4. Cambia también la sintaxis de lectura de bytevectors (#u8(...)) y desaparece #${...}.

Entre las novedades operativas, open-input-file y open-output-file admiten codificación (UTF-8 por defecto y Latin-1), las funciones de proceso devuelven objetos de proceso en lugar de PID y el bloqueo de ficheros usa flock(2) con interfaz simplificada y seguridad entre hilos. Aparece un módulo (chicken number-vector) que amplía SRFI-4 con vectores de números complejos de 64 y 128 bits, y se añaden make-binary-input-port y make-binary-output-port.

En la FFI, las cadenas y símbolos ya no se copian al pasar a código C (las mutaciones externas son visibles en Scheme) y pueden transferirse directamente números complejos, structs y unions. En compilación y herramientas, csc acepta rutas con espacios sin entrecomillar, chicken-install bloquea el caché durante la instalación de eggs y se incorpora un sistema de compilación con script configure, compatible con zig cc. Se documenta además el parche de seguridad CVE-2022-45145 incluido en la rama 5.4.0, que neutraliza caracteres de escape en metadatos de eggs.