The R7RS standard libraries are described by the R7RS (small) standard approved in 2013.
Larceny provides all of the R7RS standard libraries, supports the full numeric tower, and can represent all Unicode characters.
Binary releases of Larceny also support Unicode strings. (When built from source code, Larceny can be configured to use Latin-1 strings instead of Unicode.)
When Larceny is invoked with the -r7r6
option on its
command line, all of the standard R7RS and R6RS libraries
are imported at startup. When invoked with the -r7rs
option, only (scheme base)
is imported at startup.
Larceny v0.98 does not implement these features of the R7RS standard:
syntax-rules
described in R7RS section 4.3.2
include
and include-ci
at expression level
cond-expand
at expression level
include
, include-ci
, and cond-expand
are fully supported
at the top-level declaration and definition levels of R7RS
libraries.
To simplify interoperability with R6RS libraries and
programs, the integer?
, rational?
, and real?
procedures exported by (scheme base)
have R6RS semantics.
It is not clear whether that is fully compatible with the
R7RS (small) standard, because the R7RS specification of
those procedures appears to contradict itself.
If any other R7RS feature is missing or incompatible with the R7RS (small) standard, it's a bug.