On Wed, Apr 4, 2012 at 11:51 PM, Frank Shearar <frank.shearar@gmail.com> wrote:
On 4 April 2012 22:32, Igor Stasenko <siguctua@gmail.com> wrote:
> On 4 April 2012 23:25, �<csrabak@bol.com.br> wrote:
>> Mariano,
>>
>> In fact, presently use of become is not considered good OOP so at first
>> my humble suggestion is you consider revising the whole architecture
>> in order to understand why you need such a thing and find a better
>> [design] pattern.
>>
>
> there is no other way to represent an object by proxy, which is not
> yet in memory, but loaded on demand.
> otherwise you will be forced to make an outer object (which refers to
> a proxy), to know it
> and replace a reference to it with another object.

And this seems like precisely one of those times you really do want to
reach into the magic toolbox for #become:. Sometimes you really do
need it.

Thanks Carlos for the advice. Since Igor knows what I am doing, he answered for me ;)
So yes....I am swappout graphs between primary and secondary memory and there are objects that I need to become to proxies and vice-versa.
This is not an app what I am doing, but a kind of hacky stuff implemented at the object side.

Cheers

frank

>> HTH
>>
>> --
>> Cesar Rabak
>>
>>
>> Em 04/04/2012 12:32, Mariano Martinez Peck < marianopeck@gmail.com > escreveu:
>>
>>> Hi guys. �I noticed that there is �a limit in the �number of objects
>>> you can �become. In �my case, I �am becoming 2312157 �objects. So..I
>>> don't �expect that �the �become works. �I �imagine that �it was �not
>>> designed for so many objects in mind ;)
>>> �However, what I would really �understand is where is the limitation
>>> �and the �reason. And of course, �if someone already �knows which is
>>> �the real number limit. Otherwise, I will do a kind of binary search
>>> �and discover it.
>>> � If you want to reproduce it:
>>> | dict |
>>> dict := Dictionary new.
>>> 2312157 timesRepeat: [ dict at: Object new put: Object new ].
>>> 3 timesRepeat: [Smalltalk garbageCollect].
>>> dict keys elementsForwardIdentityTo: dict values.
>>>
>>> throws a #primitiveFailed.
>>>
>>> Thanks,
>>
>
>
>
> --
> Best regards,
> Igor Stasenko.
>




--
Mariano
http://marianopeck.wordpress.com