1. R7RS Tasks
    1. General structure
    2. Todo
    3. Classification of changes
    4. Currently unimplemented changes
      1. 2.1. Identifiers
      2. 6.7. Strings
      3. Appendix B
      4. 5.6.1. Library syntax
      5. 6.1. Equivalence predicates
      6. 6.11. Exceptions
    5. List of R7RS features that are provided by the r7rs egg
      1. 2.1. Identifiers
      2. 4.1.7. Inclusion
      3. 4.2.1. Conditionals
      4. 4.3.2. Pattern language (syntax-rules)
      5. 5.2. Import declarations
      6. 5.5. Record-type definitions
      7. 6.3. Booleans
      8. 6.4. Pairs and lists
      9. 6.6. Characters
      10. 6.7. Strings
      11. 6.7. Strings
      12. 6.8. Vectors
      13. 6.10. Control features
      14. 6.12. Environments and evaluation
      15. 6.13.1. Ports
      16. 6.13.3. Output
      17. 6.14. System interface

R7RS Tasks

General structure

The r7rs egg has been implemented and provides basic support for R7RS features not already implemented in the core system. There are still a number of incompatibilities and some missing functionality.

Open is also whether more features should move to the core system or whether support of the language as an egg provides integration enough to not annoy users who simply want to code in R7RS with minimal effort.

The remaining document tries to reflect the current status of R7RS Scheme support on CHICKEN.

comments by John Cowan marked with JC:

Todo

Outstanding tasks:

Nice to haves:

The egg also needs a more comprehensive test suite.

Classification of changes

(+)
Trivial or straightforward changes
(*)
Changes that are difficult or work-intensive
(X)
Changes that break backwards-compatibility
(?)
Needs to be clarified

Currently unimplemented changes

2.1. Identifiers

6.7. Strings

Appendix B

5.6.1. Library syntax

6.1. Equivalence predicates

6.11. Exceptions

List of R7RS features that are provided by the r7rs egg

2.1. Identifiers

4.1.7. Inclusion

4.2.1. Conditionals

4.3.2. Pattern language (syntax-rules)

5.2. Import declarations

5.5. Record-type definitions

6.3. Booleans

6.4. Pairs and lists

6.6. Characters

6.7. Strings

6.7. Strings

6.8. Vectors

6.10. Control features

6.12. Environments and evaluation

6.13.1. Ports

6.13.3. Output

6.14. System interface