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

Remaining questions & remarks (2)



    Date: Thu, 26 Jun 86 19:03 EDT
    From: Jonathan A Rees <JAR@MIT-AI.ARPA>
 
    1.  BEGIN vs. SEQUENCE: this is a pretty glaring ugliness in the report;
	it's obvious to the world we couldn't get consensus on this one.
	Many people have told me that they don't care which one is there, so
	long as there's only one.  SEQUENCE was used heavily in S&ICP and
	for that reason I think it should be retained; thus the options I
	offer are
	  (a) leave things as they are (BEGIN essential with non-essential
	      synonym SEQUENCE),
	  (b) remove BEGIN and make SEQUENCE essential (noting in the Notes
	      section that BEGIN, like #!TRUE etc., should be supported by
	      those implementations which care about running code written in
	      the past year).
(b)
 
    2.  Similarly but less glaringly, we have a problem with the numeric
	comparisons.  Again, many people have said they don't care but they only
	want one set, with or without question marks.  Thus I offer
	the choices
	  (a) leave things as they are
	  (b) flush the alternative names  <? <=? >? >=? =?
(b)
    
    22. Was Scheme the first programming language to have first-class lexical
	closures?  Can we say anything edifying along these lines?

Don't forget, of course, to say that Algol 60 came real close.  I think you
should research the languages GEDANKEN (Reynolds) and ISWIM (Landin), as one
of those might have had closures.  I believe ISWIM was described in CACM in
the mid-1960's.

    Kelsey asks: why does ROUND round to even?  Answer: Common Lisp does it
    this way.  Ask Steele.  Probably this has to do with statistical
    niceness.

ROUND rounds to even because the integer "rounding modes" (floor, ceiling,
round, truncate) were chosen to correspond to the rounding modes required by
the IEEE floating point standard.  That standard in turn mandates rounding
to even for what indeed amounts to statistical niceness: on the average the
effects of rounding tend to cancel out.  Why round to even instead of odd?
Then further operations on those results are more likely to be exactly
representable and therefore not require further loss of accuracy due to
rounding.

--Guy