On Thu, 7 Aug 2014, Eliot Miranda wrote:
Hi Juan,
On Thu, Aug 7, 2014 at 9:40 AM, J. Vuletich (mail lists) <juanlists@jvuletich.org> wrote:
Hi Folks,
Just tried Smalltalk-80 (actually Apple Smalltalk-80 running in Mini vMac). 1e-3 "printIt" (1/1000) 1e-3 class "printIt" Fraction 1e3 "printIt" 1000 1e3 class "printIt" SmallInteger
This has always been the behavior in Squeak too.
What happens if you try compiling a method containing a literal Fraction and both debug it and decompile it.Â
Also check these comments from Dan: http://lists.squeakfoundation.org/pipermail/squeak-dev/2000-March/013368.htm...
Dan doesn't say anything about Fraction literals in this message.
I guess the key parts are
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.
and "Radix, digits and exponent defined analogously over ints, largeInts, and Floats."
Â
I don't think this is a bug at all.
What, that 1e-3 is a Fraction, not a Float?
If 1e-3 is a Float, shouldn't 1e3 be a Float too? Levente