[plt-scheme] Apparent inconsistencies between original spirit of RnRS and R6RS [Fw: Ann: Sketchy LISP, Third Edition]

From: Benjamin L.Russell (DekuDekuplex at Yahoo.com)
Date: Wed Aug 6 23:36:15 EDT 2008

In the following recent thread on comp.lang.scheme, in the Preface of
_Sketchy LISP: An Introduction to Functional Programming in Scheme,_
the author, Nils M. Holm points out an inconsistency between the
original spirit of a small, succinct language, as stated in the
Introduction to RnRS, and some of the changes in R6RS.

According to the following document, the community standards document
for R5RS Scheme used to fit in fifty pages:

Scheme R5RS Manual > Programming and Technical Books > Bartlett
Publishing | CafePress
http://www.cafepress.com/bartlettpublish.9174125

> The Scheme programming language is one of the under-appreciated gems 
> of the computer science community. It has a form and beauty that is 
> simplyUnmatched [sic] by any other programming language.It's simplicity 
> speaks for itself - this community standards document is only 50 pages long. 
> It is just like Scheme - small, elegant, efficient, and complete.

The following is the reference to Holm's book:

On Wed, 6 Aug 2008 11:10:08 +0000 (UTC), Nils M Holm
<news2008 at t3x.org> wrote:

>I am happy to announce the third edition of my textbook
>
>Sketchy LISP
>An Introduction to Functional Programming in Scheme
>
>[...]
>
>Where to get it
>
>The full text of this edition can be viewed online. Paper copies
>and inexpensive PDF files can be purchased at Lulu.com.
>
>Online Edition:  http://www.t3x.org/sketchy/vol1/
>
>Paper copies and PDF files:  http://www.lulu.com/content/213736/

In his Preface to his Third Edition, he writes as follows:

>Programming languages should be designed not by piling feature on top of 
>feature, but by removing the weaknesses and restrictions that make 
>additional features appear necessary.
>-- RnRS introduction
>[see http://www.r6rs.org/final/html/r6rs/r6rs-Z-H-3.html#node_chap_Temp_3]
>
>Unfortunately this principle was abandoned in the R6RS process. I 
>created this edition in the hope that enough people will stay interested 
>in the small and beautiful language that Scheme used to be, so the R5RS 
>will remain a de-facto standard. 

According to the following document, he seems to be correct:

Revised^6 Report on the Algorithmic Language Scheme - Appendix E -
Language Changes
http://www.r6rs.org/final/html/r6rs/r6rs-Z-H-19.html#node_chap_E

> * Libraries have been added to the language.
>
> * The old notion of program structure and Scheme’s top-level environment 
>has been replaced by top-level programs and libraries.

I have been reading through the recent R6RS-related threads in the
plt-scheme mailing list, and it seems that PLT Scheme is heading
toward becoming an R6RS-interoperable variant of Scheme.  However, I
am concerned about the direction of the future evolution of PLT
Scheme.

One of the main reasons that I preferred Scheme over Common Lisp
was the succinctness of Scheme, caused precisely by the lack of
libraries.  One of the main reasons that I stopped studying Java was
precisely the huge growth in libraries.  How does PLT Scheme plan to
address the apparent inconsistency between the above-mentioned
original guiding principle of RnRS Scheme and the above-mentioned
changes in R6RS Scheme?

I have an ominous feeling of dark clouds approaching....  I just hope
that Scheme doesn't become the kind of monstrosity that Java and
Common Lisp have become, requiring constant flipping through huge
library reference manuals just to use.  That makes Scheme just another
huge collection of libraries, rather than a small, elegant, and
complete adaptable precision tool....

-- Benjamin L. Russell



Posted on the users mailing list.