[squeak-dev] Re: would anyone object if I committed my changes to Integer>>hex?

Andreas Raab andreas.raab at gmx.de
Sat Jul 17 23:26:51 UTC 2010


Thanks for the history. My vote is for restoring the original behavior 
of #hex and document it via tests.

Cheers,
   - Andreas

On 7/17/2010 3:03 PM, Levente Uzonyi wrote:
> On Sat, 17 Jul 2010, Eliot Miranda wrote:
>
>> Hi All,
>>
>> in creating the Cog VMMaker image from Squeak 4.1 that is in the svn
>> tree for Cog (http://www.squeakvm.org/svn/squeak/branches/Cog) I had to
>> revert a change made to Integer>>hex. I don't want to point fingers
>> but it
>> was IMO an unnecessary change; one can always add a new selector if one
>> wants new behaviour and existing code (in this case VMMaker) depended
>> on the
>> old behaviour. BTW, the difference is that originally Integer>>hex (&
>> Integer>>hex8) prefixed their hex output with the base so that 123 hex is
>> '16r7B' and 123 hex8 '16r0000007B', whereas the new semantics omits the
>> prefix so that 123 hex is '7B'. The old semantics is depended on by
>> various
>> tests as well it providing the convenience of being able to select and
>> print
>> the result. I would like to revert the behavior, essentially because
>> a) one
>> should not unnecessarily break backwards-compatibility and b) Cog is
>> potentially useful to a lot of the community. So views for or against? Or
>> should I make it, gack, a VMMaker override (gack, please nooooo)?
>
> The story of #hex is a bit more complicated. It was deprecated in 3.8,
> removed in 3.9 and was reintroduced in 3.10 with different semantics.
> The last decision was definitely bad. But what about the removal? Why
> was it removed in 3.9? The idea was to use #printStringHex and
> #storeStringHex instead of #hex. The problem with the removal was that
> it wasn't done properly. There were senders of the removed #hex method
> in the 3.9 image and the external packages weren't updated.
>
> If we want to follow the decision of removing #hex from the image, then
> #hex should be an extension method in VMMaker or #storeStringHex should
> be used (yeah, it's a long name).
> If we want to keep #hex in the image, then I think we should restore the
> original semantics.
>
>
> Levente
>
>>
>> best
>> Eliot
>>
>
>




More information about the Squeak-dev mailing list