[Pharo-project] A Lazy Inspector?

Oscar E A Callau oalvarez at dcc.uchile.cl
Mon Oct 18 15:42:32 EDT 2010


On Oct 18, 2010, at 14:44 , Mariano Martinez Peck wrote:

> On Mon, Oct 18, 2010 at 4:40 AM, Oscar E A Callau <oalvarez at dcc.uchile.cl> wrote:
> Hello all,
> 
> I was wondering what actually the inspector does in the following case:
> 
> When you explore (or inspect) the expression: Class environment
> you get all classes in the system dictionary. If you navigate inside a class, for example AColorSelectorMorph, you can see all its properties and one of them is environment, if you go inside it, you get again all classes in the system dictionary. So, you can repeat this infinitely (or until you get run out of memory, I guess)
> 
> Is it the behavior of a lazy inspector? If true, why I cannot inspect a mutually-recursive class definition, like this:
> 
> Object subclass: #Foo
>        instanceVariableNames: 'bar'
>        classVariableNames: ''
>        poolDictionaries: ''
>        category: ''
> 
> Foo>>initialize
>        bar:= Bar new
> 
> Object subclass: #Bar
>        instanceVariableNames: 'foo'
>        classVariableNames: ''
>        poolDictionaries: ''
>        category: ''
> 
> Foo>>initialize
>        bar:= Foo new
> 
> here should be foo := Foo new.
> 
> Anyway, you should be able to browse these classes without problems.
> The problems is in instance creation. For example, if you evaluate: Foo new.

Thanks Mariano. May be my question was not well explained. Of course if I evaluate: Foo new, I get into a infinite loop. 1st question, when I'm inspecting, I'm evaluating?

In the case that I mention above (Class enviroment) I got all classes in the system and each of them has an environment, that is all classes, and so on. Here, we have a infinite recursion. So, how the inspector get a lazy visualization of the it?

Greetings 


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/attachments/20101018/63501e04/attachment-0001.html>


More information about the Pharo-dev mailing list