[squeak-dev] Services, Universes, SqueakMap browser all seem broken in 4.5

Eliot Miranda eliot.miranda at gmail.com
Wed Apr 9 21:31:30 UTC 2014


On Wed, Apr 9, 2014 at 2:23 PM, Colin Putney <colin at wiresong.com> wrote:

>
>
>
> On Wed, Apr 9, 2014 at 3:31 PM, Chris Muller <ma.chris.m at gmail.com> wrote:
>
>> >> Except for a proxy bug which needs fixed, I'd love to know how you
>> >> would possibly improve it even if you could do so by the mere snap of
>> >> your finger.  Because I wanted the best of both worlds.  I want 1) the
>> >> ability to clean / reduce an image, 2) WITHOUT losing the ability to
>> >> retrieve the ancestry.  Oh, and 3) it'd be nice if I didn't have to do
>> >> a special UI operation to "retrieve the ancestry", just have the
>> >> system retrieve it automatically please only if I do something in the
>> >> IDE that requires it.
>> >>
>> >> Again, assuming all the proxy-bugs fixed, what more could one want in
>> >> terms of meeting all the demands we want as developers?
>> >
>> > How about not downloading megabytes of data from the network when I
>> didn't
>> > tell it to do that?
>>
>> There are lots of operations in the IDE that cause network accesses,
>> and none of them advertise in advance that they'll access the network.
>>  So this argument is not really a good one against.
>>
>
> Good grief. If I click on something in the IDE, I've told it do something.
> Depending on what I click on, network access may be quite reasonable. I'm
> not going to be surprised if opening a repository inspector on a remote
> repository needs to download data from the network.
>
> On the other hand, network access when you're using "chase pointers" is
> not expected. It's also surprising when "Smalltalk fixObsoleteReferences"
> starts downloading packages from SqueakSource.
>

+1


> > Proxies are a
>> > useful tool, but they should be kept in the bottom of the toolbox and
>> only
>> > used in special circumstances. The vanilla image shouldn't have proxies.
>>
>> I think this is your best argument.  I agree Proxies are a powerful
>> tool to be used sparingly with deliberate care, but it basically boils
>> down to using a become:, which we already use in numerous other places
>> in the image.
>>
>
> Become is fine. The problem is #doesNotUnderstand:, combined with not
> subclassing Object. Operations like chasing pointers, which are normally
> safe, become decidedly unsafe when applied to these proxies. Again, they
> shouldn't be in the vanilla image.
>

-1.  Proxies should be safe in the debugger and using chase pointers.  We
have the mirror primitives and these are used in the debugger and hence one
can debug proxies.  Chase pointers needs to be rewritten to use the mirror
primitives too.  IMO, a solid proxy implementation is a base facility.

-- 
best,
Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20140409/c838f7b5/attachment.htm


More information about the Squeak-dev mailing list