Outdated egg!

This is an egg for CHICKEN 4, the unsupported old release. You're almost certainly looking for the CHICKEN 5 version of this egg, if it exists.

If it does not exist, there may be equivalent functionality provided by another egg; have a look at the egg index. Otherwise, please consider porting this egg to the current version of CHICKEN.


Chicken port of SRFI 101.

  1. Outdated egg!
  2. srfi-101
  3. Documentation
    1. Usage
    2. Printing
  4. Requirements
  5. Bugs and Limitations
  6. Author
  7. Version history
  8. License


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.


(require-extension functional-lists)

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.

(require-extension srfi-101)

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


Kon Lovett

Version history

Fix for ticket #630.
Initial Chicken 4 release.


See the source.