[ENH] Case independent numbers

Dan Ingalls Dan.Ingalls at disney.com
Wed Mar 1 22:30:26 UTC 2000


>At 11:44 AM 3/1/00, Lex Spoon wrote:
>[snip]
>>By the way, the standard seems to suggest that uppercase letters are to
>>be used, and that the base should only go up to 36.  (section 3.5.6) 
>>Lowercase 'e' is used to designate the exponent of a floating point
>>number (as are 'd' and 'q').  It is illegal to specify an exponent for
>>what is otherwise an integer--eg, 10e10 is illegal, while 10.0e10 is
>>legal.
>>
>>Anyway, if anyone is planning to go through cleaning this stuff up,
>>maybe they should make it fit the standard.

I will have to admit to a bit of bigotry here.  I was the originator of the numeric format, and I object to a couple of the ANSI decisions regarding the syntax of numeric constants.  I have three reasons for this...

1.  I much prefer 2r1e31 to 2r10000000000000000000000000000000 for the sign bit and 16rFe8 for the high nibble of a 32-bit integer and 10e6 for a million.  Come on.

2.  I just feel that the current (Squeak) def, which is the original one, is a micro world of simplicity and generality.  Radix, digits and exponent defined analogously over ints, largeInts, and Floats.  That's all.

3.  I have spent entire hours with inquisitive kids, just exploring this micro world.  If they get bored with 2r1e10 then it's time to step out and explore the meaning of 3r11.2.

If I were going to "fix" anything, I think it would be to allow 1r111111111111 = 12.

This may be the issue that finally leads to a parting of the ways in the Squeak Community.

Just Kidding

	- Dan






More information about the Squeak-dev mailing list