Cheney on the M.T.A. with native threads.

R7RS Compliance

This is the status of Scheme programming language features implemented from the R7RS Scheme Specification:

Section Status Comments
2.2 Whitespace and comments Yes  
2.3 Other notations Yes  
2.4 Datum labels No  
3.1 Variables, syntactic keywords, and regions Yes  
3.2 Disjointness of types Yes  
3.3 External representations Yes  
3.4 Storage model Yes No immutable types at this time.
3.5 Proper tail recursion Yes  
4.1 Primitive expression types Yes  
4.2 Derived expression types Yes  
4.2.1 Conditionals Yes  
4.2.2 Binding constructs Yes  
4.2.3 Sequencing Yes  
4.2.4 Iteration Yes  
4.2.5 Delayed evaluation Yes  
4.2.6 Dynamic bindings Yes  
4.2.7 Exception handling Yes  
4.2.8 Quasiquotation Yes  
4.2.9 Case-lambda Yes  
4.3 Macros Yes Support for syntax-rules and a lower-level explicit renaming macro system.
5.1 Programs Yes  
5.2 Import declarations Yes  
5.3 Variable definitions Partial define-values is not implemented yet.
5.4 Syntax definitions Yes  
5.5 Record-type definitions Yes  
5.6 Libraries Yes  
5.7 The REPL Yes  
6.1 Equivalence predicates Yes  
6.2 Numbers Partial Only integers and reals are supported at this time.
6.3 Booleans Yes  
6.4 Pairs and lists Yes  
6.5 Symbols Yes  
6.6 Characters Yes  
6.7 Strings Yes  
6.8 Vectors Yes  
6.9 Bytevectors Yes  
6.10 Control features Yes dynamic-wind is limited, and does not work across calls to continuations.
6.11 Exceptions Partial Exceptions are implemented but error objects (and associated functions error-object, etc) are not at this time.
6.12 Environments and evaluation Partial Only eval is implemented at this time.
6.13 Input and output Partial Functions do not differentiate between binary and textual ports.
6.14 System interface Yes