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

votes and things



The 3 in R^3RALS is clever, but it looks just like a footnote
reference when the Report is cited.  Such puns hurt others more than
they entertain us.  How about just "Report on the Algorithmic
Language Scheme".  That's different enough from all the previous
report names to avoid confusion, and brevity is a particular virtue
in things, such as titles, that are refered to repeatedly.

I strongly second John Ramsdell's comments about the introduction.
If not religated to the end, the historical material should at least
be in a seperate section following the introduction.  I also agree
with him that call-with-{input,output}-PORT is better than ...-FILE
now that we have the ...-PORT? predicates.

I've used the words KEYWORD and IDENTIFIER for what Jonathan is
calling IDENTIFIER and VARIABLE, respectively.  I agree with Dan that
VARIABLE is confusing, because it is often used to mean LOCATION.
But I don't feel strongly.  However, it is best not to have one word
for both: if you ever mean "keyword and identifier" (or "identifier
and variable"), and not just "symbol", then say so.

My votes follow (I care most about the first and last):

1. (a) leave BEGIN alone

2. (b) flush <?, et al.

3. (b) flush REC (sigh) and NAMED-LAMBDA

4. flush SUBSTRING-MOVE-...

5. flush parallelism references, keep random order

6. (a) inexact like CL "floatness"

7. yes, objects (even ports) should never change type, or there will
be some big surprises.

8. flush MAGNITUDE

9. change ANGLE to PHASE

10. keep two-argument ATAN

11. add PROCEDURE?.  For pedagogy I like to maintain a distinction
between primitives, closures (LAMBDA expression values) and reified
continuations, and I use "procedure" to refer to any applicable object.
The programmer shouldn't be able to tell the difference, so the language
should only support PROCEDURE?.

12. (c) Flush one armed IF, and replace by WHEN, as suggested by Kent
and Dan.

13. flush (define ((a b) c) ...)

14. keep LOAD as is

15. treat page breaks and tabs as whitespace, and say no more

17. EQ?, EQV? and EQUAL? should increase in strength monotonically,
as David suggested.

18. keep Clinger's accuracy wrt variables

19. Do we really need a dedication?  If so, Strachey is more appropriate
than the PDP-6, Curry is better, and Church seems best.

20. SASL

21. one-based section numbering

22. Landin and Reynolds should be credited with introducing
first-class closures and continuations, but it should be emphasized
that Scheme was the first widely used language to support them and is
still the most used language that supports both.

23. note the difference between CATCH and continuations somewhere

24. CALL/CC should be listed under CALL-WITH-CURRENT-CONTINUATION as
an (optional) procedure. It should be mentioned in the following
discussion that it is an equivalent abbreviation, with no other
apology offered.  Dispite objections to it by some, it is more widely
used and refered to than some other things that we have kept by way
of compromise.


Regards,
Chris Haynes