Chicken port of SRFI 101.
SRFI 101 describes a functional replacement representation for the Scheme list concept. The implementation here is based on the reference implementation. Because the SRFI uses identifiers that are the same as standard R5RS identifiers bound in the scheme module, two modules are provided.
In this module, all the identifiers of SRFI 101 are exported with the ra: prefix. It is suitable for applications that use both random-access pairs and standard Scheme pairs.
In this module, all but one of the identifiers of SRFI 101 are exported without a prefix, which overrides the standard identifiers in the scheme module. The exception is quote, which is exported as ra:quote. If the standard procedures are to be used, they must be imported with a prefix such as r5:. This module is suitable for applications that use random-access pairs only. Note however that argument lists are still R5RS lists, which means that some or all of the standard procedures must be imported if procedures with variable numbers of arguments are to be included.
If either module is loaded, a record printer is provided which causes random-access pairs and lists to be output in the same way as R5RS pairs and lists. No provision for input is made.
Bugs and Limitations
- Cannot rebind the quote identifier for Chicken.
- Fix for ticket #630.
- Initial Chicken 4 release.
See the source.