[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
remaining questions & remarks (2)
My comments on the "remaining questions" and a few other things:
I. I second Chris Haynes's comments on the title "R^3RS..". It is not only
too cutesy, but also suggests an aura of impermanence: these guys are going
to keep going until....
II. Kent Dybvig should be an author, on the same basis as Kent Pitman.
Comments on the numbered issues:
1. (a) leave BEGIN essential, SEQUENCE optional.
2. (b) flush <?, etc.
3. (b) flush both REC and NAMED-LAMBDA. I feel very uneasy, however, about
the overall status of special forms, both system- and user-supplied. I will
be very unhappy if I can't have a conforming Scheme that happens to have a
REC. I suspect that this situation merely reflects our lack of understanding
of this issue.
5. Flush the possibility of parallel or interleaved argument evaluation.
7. Yes, a port must be a port forever, else what's an object for?
9. Sure, use PHASE (suppress gratuitous incompatibilities)
10. Keep 2-arg ATAN.
11. Include PROCEDURE?, and make it be true of continuations. I would also be
happy with the name APPLICABLE?, though I prefer PROCEDURE?. I strongly
oppose the name CLOSURE? .
12. (a) 2-argument IF should return the value of the 2nd arg if the first is
true. (when pred exp) is OK too.
13. Flush (define ((((a b) c) d) e) ...)
18. DEFINITELY keep Clinger's description of variable binding. It's the only
hope of sanity. As Dan pointed out, Scheme is closer to Algol than it is to a
functional language, and that's a good bit of why it's useful.
19. I vote for Chris Strachey. Church was still alive the last time I looked.
Curry was the one who died, but he had not thought much, so far as I know,
about the computational implications of his work (even though he did some
numerical analysis on the ENIAC in 1944-46, see Seldin & Hindley, "To H.B.
Curry..." 1980, p. x). I think Strachey's work, as amplified and expounded
through Scott, Stoy, Milne, etc., is a far more direct intellectual source of
our work (as expounded through Scheme) [the "our" here meaning the Scheme
community, not just me.].
20. For call-by-name, how about Algol? "This is distinct from the situation in
languages such as SASL or Algol 60, where arguments are passed by name, so
that an argument expression is not evaluated unless its value is needed by the
procedure". This sentence needs to be careful not to confuse call-by-name
with call-by-lazy or other similar things.
21. I vote for one-based section numbering. I think zero-basing is cutesy.
Also, if we are going to copy the Algol 60 typography, then sub*section
numbers should always be terminated by a period e.g.,
4.5.3.1. If statement. .... (Algol report, page 10).
23. I vote to keep the historical note about CATCH being provided by a
procedure, since Scheme IS (so far as I know) the first language to do this.
Mitch Wand