CHICKEN Scheme 6.0 Adds Full Unicode Support and R7RS Compliance
The latest release of the C-translating compiler modernizes string handling and aligns core libraries with industry standards.
The CHICKEN Scheme compiler has launched version 6.0.0, a major update that introduces full Unicode capability and expands compliance with the R7RS small language specification. This release marks a significant shift in how the system handles text and binary data, removing long-standing limitations for developers.
According to release notes from call-cc.org, the internal string representation has been converted to UTF-8, ensuring that strings are now fully Unicode capable. This modernization extends to file operations, where 'open-input-file' and 'open-output-file' now support Latin-1 and UTF-8, with the latter serving as the default encoding. Additionally, the release ensures that all modules specified by the R7RS small language are now available within the core system.
Binary data handling has also been overhauled. The (chicken blob) module has been replaced by (chicken bytevector), which provides compatibility with R7RS and SRFI-4 u8vectors. As part of this transition, the previous read-syntax for blobs (#${...}) has been removed, replaced by #u8(...) or #u8"..." syntax.
Standardizing the Ecosystem
CHICKEN Scheme operates by translating Scheme source files into C, which are then compiled into standalone executables. This architecture allows developers to combine the flexibility of a Lisp-family language with the performance and portability of C binaries. By aligning more closely with the R7RS standard, the project increases its interoperability and appeal to the broader Scheme community.
The transition to full UTF-8 support is critical for modern software development. It removes a significant barrier for programmers building internationalized applications that must handle diverse character sets across different locales. Furthermore, the shift from blobs to bytevectors streamlines how the language manipulates raw binary data, bringing it in line with contemporary expectations for systems programming.
Future Directions
Beyond core library updates, version 6.0 introduces support for Crunch, a compiler designed for a statically typed subset of Scheme R7RS, currently at version .993. This addition suggests a growing interest in bringing stronger type guarantees to the CHICKEN ecosystem without sacrificing the language's inherent dynamism.
As the community adopts the 6.0 release, developers will need to update legacy codebases to accommodate the new bytevector syntax and the removal of the blob module. The move toward a more standardized, Unicode-ready environment positions CHICKEN Scheme as a more viable tool for professional, global-scale software projects.