[squeak-dev] The Trunk: Morphic-mt.1769.mcz

Marcel Taeumel marcel.taeumel at hpi.de
Mon May 17 13:34:58 UTC 2021


> The decimal representation is just one of many equivalent representations.

The problem being that the basic (machine) representation is not clear. I think its 2's complement. HEX and OCT -- I suppose -- are very close to the machine representation.

That's not an issue for positive numbers. :-) 

Best,
Marcel
Am 17.05.2021 14:00:36 schrieb Thiede, Christoph <christoph.thiede at student.hpi.uni-potsdam.de>:
> > But this would not really match the actual object layout of integers in Squeak which can have arbitrary sizes ...
> 
> So, the binary representation does not make sense, right? And neither does the HEX or OCT. :-)

Why do you think so? The object layout of Squeak Integer is not something like "list of decimal digits". The decimal representation is just one of many equivalent representations. On the other hand, any complement semantic adds a completely new concept because it neglects the infinite size of integers.

Best,
Christoph
Von: Squeak-dev <squeak-dev-bounces at lists.squeakfoundation.org> im Auftrag von Taeumel, Marcel
Gesendet: Montag, 17. Mai 2021 13:08:47
An: squeak-dev
Betreff: Re: [squeak-dev] The Trunk: Morphic-mt.1769.mcz
 
> But this would not really match the actual object layout of integers in Squeak which can have arbitrary sizes ...

So, the binary representation does not make sense, right? And neither does the HEX or OCT. :-)

Best,
Marcel
Am 17.05.2021 13:07:28 schrieb Thiede, Christoph <christoph.thiede at student.hpi.uni-potsdam.de>:
> And I would have expected a 2's complement, right?

Ah, now I see. :-) But this would not really match the actual object layout of integers in Squeak which can have arbitrary sizes ...

In my opinion, we should just leave it as is (just maybe without the space), I don't really like such artificial limitations. :-)

Best,
Christoph
Von: Squeak-dev <squeak-dev-bounces at lists.squeakfoundation.org> im Auftrag von Taeumel, Marcel
Gesendet: Montag, 17. Mai 2021 12:52:23
An: squeak-dev
Betreff: Re: [squeak-dev] The Trunk: Morphic-mt.1769.mcz
 
> Apart from that, I would have expected '-02' instead of '- 02'. :-)

And I would have expected a 2's complement, right? Or even drop this representation for negative numbers altogether?

Best,
Marcel
Am 17.05.2021 12:49:51 schrieb Thiede, Christoph <christoph.thiede at student.hpi.uni-potsdam.de>:
Nice catch! :-)

For anyone else wondering about this glitch:
Before:

After:



IMO our printing protocol on Number should have a padded argument similar to the (post-comma) decimal places.
Apart from that, I would have expected '-02' instead of '- 02'. :-)


Best,
Christoph
Von: Squeak-dev <squeak-dev-bounces at lists.squeakfoundation.org> im Auftrag von commits at source.squeak.org <commits at source.squeak.org>
Gesendet: Donnerstag, 6. Mai 2021 19:05:29
An: squeak-dev at lists.squeakfoundation.org; packages at lists.squeakfoundation.org
Betreff: [squeak-dev] The Trunk: Morphic-mt.1769.mcz
 
Marcel Taeumel uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-mt.1769.mcz [http://source.squeak.org/trunk/Morphic-mt.1769.mcz]

==================== Summary ====================

Name: Morphic-mt.1769
Author: mt
Time: 6 May 2021, 7:05:24.828981 pm
UUID: 8109f744-f1f3-7048-8646-fed21a8e23d4
Ancestors: Morphic-ct.1768

Fixes minor glitch in objext explorers on integers.

This makes me wonder ... what are the expectations for negative integers here?

=============== Diff against Morphic-ct.1768 ===============

Item was changed:
  ----- Method: Integer>>explorerContents (in category '*Morphic-Explorer') -----
  explorerContents
 
         ^#(
                 ('hexadecimal' 16 2)
                 ('octal' 8 3)
                 ('binary' 2 4)) collect: [ :each | | label group |
                         group := each third.
+                        label := self abs printStringBase: each second.
-                        label := self printStringBase: each second.
                         label := label padded: #left to: (label size roundUpTo: group) with: $0.
                                 label := String streamContents: [:s |
+                                self negative ifTrue: [s nextPutAll: '- '].
                                 (1 to: label size by: group)
                                         do: [:index |
                                                 1 to: group do: [:gIndex |
                                                         s nextPut: (label at: index + gIndex - 1)]]
                                         separatedBy: [s space]].
                         
                         ObjectExplorerWrapper
                                 with: label
                                 name: each first translated
                                 model: self ]!


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20210517/bcd2daf9/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pastedImage.png
Type: image/png
Size: 8037 bytes
Desc: not available
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20210517/bcd2daf9/attachment-0002.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pastedImage.png
Type: image/png
Size: 7983 bytes
Desc: not available
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20210517/bcd2daf9/attachment-0003.png>


More information about the Squeak-dev mailing list