[R6RS] Splitting into core and libraries

Michael Sperber sperber
Tue Jul 19 03:50:17 EDT 2005


William D Clinger <will at ccs.neu.edu> writes:

> As for why these should be in the core rather than in a library:
> I believe the idea is that the R6RS would require all systems to
> provide these operations, albeit with a semantics parameterized
> by a system-dependent fixnum range.  The R5RS-style operations
> would then go into a library, for which we expect to provide a
> portable implementation.

We haven't established any organizational principles for the split
among the core and the libraries, so it's hard to say whether this
would be an appropriate way to split things.

Several possible views of "core":

- the minimal part of the language that suffices to define the rest
  ("semantics core")
- the stuff corresponding to what's currently in R5RS
  ("some core")
- the bindings which are useful for a lot code
  ("useful core")
- a core defined by partitioning useful functionality among the
  semantic core and the libraries
  ("systematic core")
- everything we do for R6RS
  ("big core")
- ... and so on

In fact, we may offer several of the above.  (I personally think we
should.)

Before we base decisions on what we think will be in the core and what
won't be, we should probably decide on the organizational principles,
and possibly some litmus tests that say whether the principles are
good.

Specifically, not everything that's in the "semantics core" will get
used by a lot of code---think of the procedural layer for records.
Also, I'm not sure I want fixnum and flonum arithmetic imported
everywhere.  There should be some means to distinguish whether I'm
using implicit-naming or explicit-naming records.  Also, we might
think of putting things into the semantic core which we specifically
*don't want* a lot of programs to use.  And so on.

-- 
Cheers =8-} Mike
Friede, V?lkerverst?ndigung und ?berhaupt blabla


More information about the R6RS mailing list