[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Issue: FIXNUM-NON-PORTABLE, v.5
- To: Moon@stony-brook.scrc.symbolics.com
- Subject: Issue: FIXNUM-NON-PORTABLE, v.5
- From: Guy Steele <gls@Think.COM>
- Date: Mon, 20 Mar 89 11:45:31 EST
- Cc: firstname.lastname@example.org, email@example.com
- In-reply-to: David A. Moon's message of Fri, 17 Mar 89 19:53 EST <19890318005344.5.MOON@EUPHRATES.SCRC.Symbolics.COM>
Date: Fri, 17 Mar 89 19:53 EST
From: David A. Moon <Moon@stony-brook.scrc.symbolics.com>
Date: 16 Mar 89 21:51 PST
This is my rewrite to capture the 'intent' of the amendment
at the January X3J13. I say 'intent' because the relation
between MOST-POSITIVE-FIXNUM (which is an inclusive bound)
and ARRAY-DIMENSION-LIMIT (which is an exclusive bound) is not
> but rather (>= MOST-POSITIVE-FIXNUM (1- ARRAY-DIMENSION-LIMIT)).
No, the amendment was (<= ARRAY-DIMENSION-LIMIT MOST-POSITIVE-FIXNUM),
and this was not a mistake nor an off-by-one error. What you've
put in the proposal here is incorrect, I think. I think it was
fully intended that not only every valid array index and every
array dimension, but also array-dimension-limit itself would be
a fixnum. Someone might want to write an arithmetic iteration
whose upper bound was array-dimension-limit.
I agree with Moon's observations and assessment; this was my understanding
of the amendment.
Pascal-type languages have had no end of grief because iteration counters
take on "invalid" (read "non-fixnum" here and you'll get the idea) values
at the end of the last iteration.