CHICKEN 6 roadmap

  1. CHICKEN 6 roadmap
    1. Full Unicode support [implemented]
    2. R7RS support [implemented]
    3. Windows support
    4. Current status
    5. Porting

Full Unicode support [implemented]

As described in UNICODE transition full support for extended character sets will be added. This includes several API changes, a bytevector module and a few incompatibilites that are deemed necessary for a clean integration.

These changes to the runtime system have been implemented and undergo testing. Due to the nature of the changed internal string representation and differences that are caused by the stronger distinction between textual strings and other byte sequences, a number of incompatibilities to CHICKEN 5 will have to be taken into account, which, in my opinion, are necessary and can not be prevented.

R7RS support [implemented]

The r7rs egg has been integrated into the core system. All (scheme ...) modules specified by R7RS are available for user code. For easing the porting of existing code, the scheme module still refers to R5RS Scheme and is an alias for R7RS' (scheme r5rs) library module. Toplevel code outside of any module still defaults to R5RS, just enter

 (import (scheme base))

to have an R7RS-compliant environment.

The current list of changes can be seen here.

Windows support

The number of supported Windows-based platforms has been reduced. From now on, Cygwin and MingW are supported, the latter requiring a POSIX sh(1) and a set of ported tools like make(1). "Pure" MingW (just the C compiler) is not sufficient anymore. One toolchain that provides all required programs in an easy to use package is w64devkit, for example.

Current status

The UTF- and R7RS support has been mostly implemented and is available in the git branch utf+r7rs. Check the porting guide for build instructions.

Porting

See our porting guide for more details on what changes are needed to port code to the new CHICKEN.