[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

r3rs presentation



I went on vacation and then I had trouble getting the r3rs.tar file.
By the time I sat down to read the report, I found my Scheme mail had
grown to 100 printed pages!  We have a solid group of committed people.

I would like to make a few comments on presentation.  The most
important comment is about section organization.  Newspaper writers
spend most of their time writing the first three paragraphs of any
article.  This part of the article is often the only part read by
readers, and is important in enticing readers to continue.  In the
same way, The first page is most likely to be the only page read by
many SIGPLAN readers.  If I had my choice of what I would ask them to
read, it would be the material in Section 0.0, the Semantics section
that notes that scheme is lexically scoped, tail recursive, weakly
typed, ... etc.  I would expand on the discussion on continutations,
as they represent one important difference between Scheme and other
languages.  The Introduction, with its history of scheme, its history
of scheme reports and meetings, and acknowledgements giving names of
people that the reader will not likely know, is not that one page I
would like all to read.  I suggest moving the history to the back of
the report, and use the first couple of pages to convince the reader
that the language documented in this report is worth studying.

On less significant presentation issues, I would like to present a
view that a less sophisicated user of Scheme may get about
continuations.  That is, this reader may conclude that continuations
are very powerful and always expensive to use.  I know that the T
compiler of 1981 generated goto's from the a catch and throw
expression that exited a loop from within a loop.  (Catch and throw is
old syntax for using continuations.)  Since we promise that
tail-recursive procedures are executed in constant space, can't we
promise something about certain simple uses of continuations?
Otherwise, they may avoided by programmers for the wrong reasons.

Random notes

[pg. 6, col. 2, +15]  In the term "meta-program" well known?

[pg. 30, col. 1]  Some note is needed explaining why there are two
different close procedures.

[pg. 29]  If call-with-current-continuation calls its argument with
the current continuation, should the I/O routines call-with-input-file
and call-with-output-file be renamed call-with-input-port and
call-with-output-port? 

John