[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: DRAFT of the Revised Revised Report
A few comments:
1) How about consolidating descriptions of all procedures
that convert things to a string. E.g. symbol->string
should be described in the same section as number->string.
Part II: A catalog of Scheme
II.5 Symbols
II.6 Numbers
II.7 Vectors
II.8 Strings
II.9 String conversions. <-!
II.10 The object table
II.11 Procedures
II.12 Ports
II.13 Input
II.14 Output
2) When I use a one arm if, I am usually writting side effects,
but with a two arm if, I am not. I suggest these two different
uses be glorified with different names. In particular, let's
name the one arm if "when".
(if condition consequent alternative) essential special form
(when condition expr1 expr2 ...) essential special form
The result of the when is undefined.
3) Since define has two syntaxes, how about giving rec or
named-lambda the same two. You could drop one of the
special forms as a result.
(named-lambda (name var1 ...) expr ...) special form
(named-lambda name expr ...) special form
4) I think it is great that the value of set! is undefined.
5) What happened to iterate? I use it much more than I use do.
It would be nice to name it loop, but I'm sure the T people would
object.
6) Macro not defined in the begining of the report.
v
`pattern macro special form
7) It is excellent that there is an attempt to stop confusing
the empty list with boolean false.
8) The phrase "more inclined to..." does not sound like the kind
of words one should use in a description of eqv?.
be used to compare numbers. The eqv? procedure is just like eq?
except that it is more inclined to say that two numbers are the
same.
9) Missing predicate: list?.
(list? obj) essential procedure
(define (list? l) (or (pair? l) (null? l)))
10) I was happy to find that property lists are not part of the
definition of symbols.
11) I vote for the long name instead of call/cc.
(call-with-current-continuation f) procedure
John