[squeak-dev] Float parsed as a Fraction bug
Levente Uzonyi
leves at elte.hu
Thu Aug 7 18:47:38 UTC 2014
On Thu, 7 Aug 2014, Eliot Miranda wrote:
> Hi Juan,
>
> On Thu, Aug 7, 2014 at 9:40 AM, J. Vuletich (mail lists) <juanlists at 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.html
>
>
> 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
More information about the Squeak-dev
mailing list
|