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

July 15th draft



On title wars, I am reminded of Norman's comments:

  Scheme is fun and happy, and a bit quirky -- or are CDR and CAR and so many
  relatives the ideal names for those procedures?  Scheme is as serious as
  LAMBDA, but as casual as CAR.  Alas, what has become of dear PROGN?  The
  names are arbitrary and incidental; CAR and CDR remind us.  Scheme is as
  much an approach as a detailed concrete specification.  But to be taken
  seriously, for Scheme to be widely used, we must have the details and
  concretions; they are essential but unimportant.

While publishers will most likely want to put out contracts on the
typing fingers of those who perpetrated the weird title, I think we
should have a little fun and keep the superscript in the title.
However, I do like the idea of NOT using all caps for Scheme in the
title. 

David Bartley suggests changing "Snobol" into "SNOBOL" because it is
an acronym.  If we do that, shouldn't we change "Algol" into "ALGOL"
and "Lisp" into "LISP"?

1) [Page 2, col 1, line 3] I am worried about the phrase "with
absolutely no restrictions on how they are composed".  Certainly, the
expressions "1" and "2" should not be composed as "(1 2)".  Doesn't
Scheme show that a small number of rules for forming expression
combined with a simple, uniform method of combining the expressions,
suffices to form a practical and efficient programming language?

2) [Page 5, col 1, paragraph 2] Too many parentheses.  Only the first
pair are needed.  Use commas for the others.  

3) [Page 3, col 1, paragraph 3] Too many parentheses.

4) [Page 6, col 1, paragraph 1] From my reading of the paragraph, I
conclude that Common Lisp has no dynamic variables.  After all, it
says that "To each place where a variable is bound in a program there
corresponds a region of the program text within which the binding is
effective."  The lack of dynamic variables distinguishes Scheme from
Common Lisp and makes the above statement true.

5) [Page 10, col 1, line -16] Odd space between the words "region" and
"of". 

6) [Page 10, col 2, line 1] Change to "general looping construct than
do, and may also be used to express recursive procedures."

7) [Page 14, col 1, line 22] The previous page states that there is
only one empty string.  Therefore, (eqv? "" "") => #t, which implies
that (eq? "" "") => #t.  If I am wrong, what does the statement about
the existence of one empty string mean?

8) [Page 27, col 2] I will simply say that, in my opinion,
call-with-xxput-port gives a user a better idea of what is going on,
as compared to call-with-xxput-file.  In the interest of harmony, I
will rest my case unless I hear support from others.

John