Chez Scheme is both a programming language and an implementation
of that language, with supporting tools and documentation.
As a superset of the language described in the Revised6 Report on
the Algorithmic Language Scheme (R6RS), Chez Scheme supports all
standard features of Scheme, including first-class procedures,
proper treatment of tail calls, continuations, user-defined
records, libraries, exceptions, and hygienic macro expansion.
Chez Scheme also includes extensive support for interfacing with C
and other languages, support for multiple threads possibly running
on multiple cores, non-blocking I/O, and many other features.