[R6RS] R6RS = Common Scheme?

Marc Feeley feeley
Sat Jan 24 10:12:38 EST 2004

Richard Kelsey wrote:

>    Date: Mon, 19 Jan 2004 17:56:18 -0500
>    From: Marc Feeley <feeley at IRO.UMontreal.CA>
>    I should also point out that I strongly believe in a separation of a
>    "core" Scheme language from libraries.  I would like to see the core
>    be very small, and to place the operations on numbers, lists, vectors,
>    strings, ports in librairies.
> What would be the purpose of such a core?  (Not that I can't think of
> any possibilities, but I would like to know what you have in mind.)
> Anyone wanting to use Scheme would have to read at least part of the
> number library.  My thinking was that the core would correspond
> roughly to R5RS and that it would be a complete programming language.
> As programming languages go it is already very small.

Well R5RS defines "procedures" and "library procedures", "syntax" and
"library syntax".  This already indicates a separation between
features which are fundamental, and those that are conveniences.
Isn't this already a beginning of a distinction between a "core
Scheme" and "libraries" in R5RS?

The purpose is to condense the specification of the fundamental
features of Scheme, so that the language can be "understood" better.
Note that if we introduce modules, records, and so on in the language
it won't be so small and it will be useful to separate the fundamental
features from the libraries.  It could also be used to develop
programs for memory-limited environments.  An embedded program that
only manipulates small integers could be written as a module that
requires the core and a non-standard fixnum module.  Finally a
complete program analysis for Scheme would be easier to implement and
write about (as in "publish a paper") if it targets the core.


More information about the R6RS mailing list