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

small changes

As the current editor of the RRRS, I would like to make the following to
last year's report.

If you have serious objections let me know.  Otherwise I'll go ahead.


Compatible changes:

- Allow identifiers to begin with tilde (^) and underscore (_).  These
characters can't begin numbers, and are allowed elsewhere in
identifiers, so this seems innocuous and reasonable.  Was there some
reason this wasn't permitted in the first place?

- Allow the characters - and + in the middle of identifiers.  I assume
this was an oversight.

- Define GCD and LCM to work on Gaussian integers.  (Complex numbers
are inessential anyhow, so you won't be obliged to implement this - but
I'll tell you how if you care.)

- Define new procedures NUMERATOR and DENOMINATOR on nonzero Gaussian
rationals which return canonical numerator and denominator (denominator
will always be a positive integer).

- I don't know of anyone who is a NAMED-LAMBDA partisan, so I intend to
flush it.  (It's not essential, anyhow.)  However, I know there are some
people out there who are partial to REC, so I'll take the conservative
position again and leave it in (even though I and other MIT folks don't
like it).


Incompatible change:

I'd like to change the meaning of (DEFINE (form var ...) body ...) so
that it's defined in terms of LAMBDA instead of NAMED-LAMBDA.  The only
reason this existed in the first place, I think, was because that's the
way MIT Scheme's DEFINE was defined.  But on talking individually with
many people at MIT and elsewhere, I find that no one likes this
semantics and would rather have the simpler expansion in terms of


I have made all of Will's suggested "non-controversial changes", and
have also changed the description of DO as previously discussed, which
appears to be non-controversial.

I am preparing a complete almost-context-free grammar for an appendix
which I'll electronically mail out for review.  I'll try to US mail the
whole report to everyone in about a week, then wait for feedback, make
final changes, and ship it off to SIGPLAN.