[R6RS] Scripts and toplevel code

Michael Sperber sperber at informatik.uni-tuebingen.de
Sun Aug 13 04:10:05 EDT 2006

Anton van Straaten <anton at appsolutions.com> writes:

> One of the traditional benefits of Scheme has been a kind of
> scalability along the dimension of source-code rigor: a program can
> start out as an experiment in the REPL, progress perhaps via cut &
> paste to becoming a relaxed script, with little structure, and later
> evolve into a more rigorously structured program.  This allows
> programs to evolve "from scripts to programs" (a catchphrase used
> repeatedly by the PLT group, in a slightly different but closely
> related context).  This property of Scheme is worth preserving, and
> worth addressing in the R6RS.

But it seems that adding your proposal to the existing mix will make
that quite hard, as the script can't evolve gracefully into a library:
the forms in its body have to be re-arranged or augmented by "(define
dummy-xxx ...)" , giving scripts bad continuity characteristics.

To my mind, this makes it worth reconsidering the restriction on
library bodies.  This would enable us to say:

#!/usr/bin/env scheme-script
(script <identifier>
  (import ...)
  <library body>)

where <identifier> names the entry point.  Change it into a library by
changing "script" to "library", replacing <identifier> with the name
of the library and adding an export clause.  This can be done with an
editor macro.

Cheers =8-} Mike
Friede, Völkerverständigung und überhaupt blabla

More information about the R6RS mailing list