https://pharo.fogbugz.com/default.asp?11149 On Jul 8, 2013, at 8:43 AM, Stéphane Ducasse <Stephane.Ducasse@inria.fr> wrote:
It seems that we never integrate this change (there was not bug entry :)). I will open a bug entry if not.
Stef
Begin forwarded message:
From: David Gorisek <david.gorisek@e-racuni.com> To: pharo-project@lists.gforge.inria.fr Cc: Date: Wed, 13 Mar 2013 22:24:04 +0100 Subject: Pharo and scaled decimals Hello all,
I am testing Pharo and I have noticed that the Pharo compiler does not treat ScaledDecimals the same way they are treated in other Smalltalk dialects (e.g. VW, VAST, Dolphin, STX, etc.).
For example the following is a valid code representing an instance of ScaledDecimal/FixedPoint in all other dialect.
1.0s + 2.0s
In Phare the code above wont compile, it has to be written as:
1.0s1 + 2.0s1
So I have made the following quick change to make Pharo compatible with other Smalltalk dialects. Maybe this change could be included in the next version of Pharo?
SqNumberParser>>#readScale "read the scale if any (stored in instVar). Answer true if found, answer false if none. If scale letter is not followed by a digit, this is not considered as an error. Scales are always read in base 10, though i do not see why..."
scale := 0. sourceStream atEnd ifTrue: [ ^ false ]. (sourceStream peekFor: $s) ifFalse: [ ^ false ]. scale := self nextUnsignedIntegerOrNilBase: 10. scale ifNil: [ scale := 0. (sourceStream peek ifNil: [false] ifNotNil: [ :nextChar | nextChar isLetter]) ifTrue: [ sourceStream skip: -1. "ungobble the s" ^ false ] ifFalse: [ ^ true ] ]. ^ true