Anonymous classes should be browseable
I want to discuss case 14789 ( https://pharo.fogbugz.com/f/cases/14789/Nautilus-assumes-a-class-always-unde...) because a class should be browseable even without a definition. Anonymous classes are still classes. If Nautilus project cannot deal with the whole Smalltalk power then it is poorly designed and I wonder what's the advantage over the old OmniBrowser... Hernán
On 26 Jan 2015, at 07:44, Hernán Morales Durand <hernan.morales@gmail.com> wrote:
I want to discuss case 14789 (https://pharo.fogbugz.com/f/cases/14789/Nautilus-assumes-a-class-always-unde... <https://pharo.fogbugz.com/f/cases/14789/Nautilus-assumes-a-class-always-unde...>) because a class should be browseable even without a definition. Anonymous classes are still classes.
If Nautilus project cannot deal with the whole Smalltalk power then it is poorly designed and I wonder what's the advantage over the old OmniBrowser...
It means pushing a lot of API down to Behaviour. Do we want that? Marcus
Marcus, I don't see it. Why an UI tool defect should impact Behavior? 2015-01-26 3:49 GMT-03:00 Marcus Denker <marcus.denker@inria.fr>:
On 26 Jan 2015, at 07:44, Hernán Morales Durand <hernan.morales@gmail.com> wrote:
I want to discuss case 14789 ( https://pharo.fogbugz.com/f/cases/14789/Nautilus-assumes-a-class-always-unde...) because a class should be browseable even without a definition. Anonymous classes are still classes.
If Nautilus project cannot deal with the whole Smalltalk power then it is poorly designed and I wonder what's the advantage over the old OmniBrowser...
It means pushing a lot of API down to Behaviour. Do we want that?
Marcus
On 26 Jan 2015, at 07:52, Hernán Morales Durand <hernan.morales@gmail.com> wrote:
Marcus, I don't see it. Why an UI tool defect should impact Behavior?
my problem is a bit that I have so much to do (there are 672 other open issuesâ¦) that I canât even think about this, so I will ignore it for now.
2015-01-26 3:49 GMT-03:00 Marcus Denker <marcus.denker@inria.fr <mailto:marcus.denker@inria.fr>>:
On 26 Jan 2015, at 07:44, Hernán Morales Durand <hernan.morales@gmail.com <mailto:hernan.morales@gmail.com>> wrote:
I want to discuss case 14789 (https://pharo.fogbugz.com/f/cases/14789/Nautilus-assumes-a-class-always-unde... <https://pharo.fogbugz.com/f/cases/14789/Nautilus-assumes-a-class-always-unde...>) because a class should be browseable even without a definition. Anonymous classes are still classes.
If Nautilus project cannot deal with the whole Smalltalk power then it is poorly designed and I wonder what's the advantage over the old OmniBrowser...
It means pushing a lot of API down to Behaviour. Do we want that?
Marcus
No problem, I will try to fix so you can review if you find time. Cheers, Hernán 2015-01-26 3:55 GMT-03:00 Marcus Denker <marcus.denker@inria.fr>:
On 26 Jan 2015, at 07:52, Hernán Morales Durand <hernan.morales@gmail.com> wrote:
Marcus, I don't see it. Why an UI tool defect should impact Behavior?
my problem is a bit that I have so much to do (there are 672 other open issuesâ¦) that I canât even think about this, so I will ignore it for now.
2015-01-26 3:49 GMT-03:00 Marcus Denker <marcus.denker@inria.fr>:
On 26 Jan 2015, at 07:44, Hernán Morales Durand <hernan.morales@gmail.com> wrote:
I want to discuss case 14789 ( https://pharo.fogbugz.com/f/cases/14789/Nautilus-assumes-a-class-always-unde...) because a class should be browseable even without a definition. Anonymous classes are still classes.
If Nautilus project cannot deal with the whole Smalltalk power then it is poorly designed and I wonder what's the advantage over the old OmniBrowser...
It means pushing a lot of API down to Behaviour. Do we want that?
Marcus
2015-01-26 7:44 GMT+01:00 Hernán Morales Durand <hernan.morales@gmail.com>:
I want to discuss case 14789 ( https://pharo.fogbugz.com/f/cases/14789/Nautilus-assumes-a-class-always-unde...) because a class should be browseable even without a definition. Anonymous classes are still classes.
If Nautilus project cannot deal with the whole Smalltalk power then it is poorly designed and I wonder what's the advantage over the old OmniBrowser...
Hernán
Can you show what the old OmniBrowser is displaying for Behavior new new browse I can not check this in Pharo, as I could not find a way to load OmniBrowser in that image. nicolai
2015-01-26 5:04 GMT-03:00 Nicolai Hess <nicolaihess@web.de>:
2015-01-26 7:44 GMT+01:00 Hernán Morales Durand <hernan.morales@gmail.com> :
I want to discuss case 14789 ( https://pharo.fogbugz.com/f/cases/14789/Nautilus-assumes-a-class-always-unde...) because a class should be browseable even without a definition. Anonymous classes are still classes.
If Nautilus project cannot deal with the whole Smalltalk power then it is poorly designed and I wonder what's the advantage over the old OmniBrowser...
Hernán
Can you show what the old OmniBrowser is displaying for Behavior new new browse
See attach (Image is Pharo 1.2.2 #12353). The Behavior definition is not updated but one can browse the behaviors opening first the Instances Browser and then finding the class. Code is here: http://www.smalltalkhub.com/#!/~hernan/LightweightClasses
I can not check this in Pharo, as I could not find a way to load OmniBrowser in that image.
I doubt it could be ported back without significan effort :(
nicolai
Hi Hernà n, I'm curious. How are the anonymous behaviours found so they can be shown in the browser? On Mon, Jan 26, 2015 at 12:20 AM, Hernán Morales Durand < hernan.morales@gmail.com> wrote:
2015-01-26 5:04 GMT-03:00 Nicolai Hess <nicolaihess@web.de>:
2015-01-26 7:44 GMT+01:00 Hernán Morales Durand <hernan.morales@gmail.com
:
I want to discuss case 14789 ( https://pharo.fogbugz.com/f/cases/14789/Nautilus-assumes-a-class-always-unde...) because a class should be browseable even without a definition. Anonymous classes are still classes.
If Nautilus project cannot deal with the whole Smalltalk power then it is poorly designed and I wonder what's the advantage over the old OmniBrowser...
Hernán
Can you show what the old OmniBrowser is displaying for Behavior new new browse
See attach (Image is Pharo 1.2.2 #12353). The Behavior definition is not updated but one can browse the behaviors opening first the Instances Browser and then finding the class. Code is here: http://www.smalltalkhub.com/#!/~hernan/LightweightClasses
I can not check this in Pharo, as I could not find a way to load OmniBrowser in that image.
I doubt it could be ported back without significan effort :(
nicolai
-- best, Eliot
Hi Eliot. I iterated using #allInstances in LCBLightweightInstancesClassNode>>classInstances The are conditionals there because instances of Array and ContextPart were created on the fly and then selecting them in the Browser created infinite recursion. Hernán 2015-01-26 15:33 GMT-03:00 Eliot Miranda <eliot.miranda@gmail.com>:
Hi Hernà n,
I'm curious. How are the anonymous behaviours found so they can be shown in the browser?
On Mon, Jan 26, 2015 at 12:20 AM, Hernán Morales Durand < hernan.morales@gmail.com> wrote:
2015-01-26 5:04 GMT-03:00 Nicolai Hess <nicolaihess@web.de>:
2015-01-26 7:44 GMT+01:00 Hernán Morales Durand < hernan.morales@gmail.com>:
I want to discuss case 14789 ( https://pharo.fogbugz.com/f/cases/14789/Nautilus-assumes-a-class-always-unde...) because a class should be browseable even without a definition. Anonymous classes are still classes.
If Nautilus project cannot deal with the whole Smalltalk power then it is poorly designed and I wonder what's the advantage over the old OmniBrowser...
Hernán
Can you show what the old OmniBrowser is displaying for Behavior new new browse
See attach (Image is Pharo 1.2.2 #12353). The Behavior definition is not updated but one can browse the behaviors opening first the Instances Browser and then finding the class. Code is here: http://www.smalltalkhub.com/#!/~hernan/LightweightClasses
I can not check this in Pharo, as I could not find a way to load OmniBrowser in that image.
I doubt it could be ported back without significan effort :(
nicolai
-- best, Eliot
On Mon, Jan 26, 2015 at 12:29 PM, Hernán Morales Durand < hernan.morales@gmail.com> wrote:
Hi Eliot.
I iterated using #allInstances in LCBLightweightInstancesClassNode>>classInstances The are conditionals there because instances of Array and ContextPart were created on the fly and then selecting them in the Browser created infinite recursion.
Depending on how many anonymous behaviours there are and how frequent they're browsed you might think of keeping them in a weak set, and enumerating that.
Hernán
2015-01-26 15:33 GMT-03:00 Eliot Miranda <eliot.miranda@gmail.com>:
Hi Hernà n,
I'm curious. How are the anonymous behaviours found so they can be shown in the browser?
On Mon, Jan 26, 2015 at 12:20 AM, Hernán Morales Durand < hernan.morales@gmail.com> wrote:
2015-01-26 5:04 GMT-03:00 Nicolai Hess <nicolaihess@web.de>:
2015-01-26 7:44 GMT+01:00 Hernán Morales Durand < hernan.morales@gmail.com>:
I want to discuss case 14789 ( https://pharo.fogbugz.com/f/cases/14789/Nautilus-assumes-a-class-always-unde...) because a class should be browseable even without a definition. Anonymous classes are still classes.
If Nautilus project cannot deal with the whole Smalltalk power then it is poorly designed and I wonder what's the advantage over the old OmniBrowser...
Hernán
Can you show what the old OmniBrowser is displaying for Behavior new new browse
See attach (Image is Pharo 1.2.2 #12353). The Behavior definition is not updated but one can browse the behaviors opening first the Instances Browser and then finding the class. Code is here: http://www.smalltalkhub.com/#!/~hernan/LightweightClasses
I can not check this in Pharo, as I could not find a way to load OmniBrowser in that image.
I doubt it could be ported back without significan effort :(
nicolai
-- best, Eliot
-- best, Eliot
Hernan I would really love that you think twice before pressing the button sent mail. Else I will finish to put you on my kill list and I will be sad but so far I see from you often frustration. Could you try to be positive? You will see as a state of mind this is so much more pleasant. There are many aspects of Nautilus that I do not like but there are even more aspect about the old browser and OB that I hate! And as you know doing is difficult. So what is the point. How many anonymous classes did I created over the last five year: none. What do we do with class side? packages? Why do you expect that a tools supporting the Smalltalk metaclass model should suport Anonymous classes? BTW I'm the guy in Squeak that fixed long long long time ago Behavior new new (So I know a bit on anonymous classes). When I used anonymous classes I did it to support instance based programming. So should I expect my hack to work with normal browser? Now may be the anonymous classes you create should return a dummy package. Stef Le 26/1/15 07:44, Hernán Morales Durand a écrit :
I want to discuss case 14789 (https://pharo.fogbugz.com/f/cases/14789/Nautilus-assumes-a-class-always-unde...) because a class should be browseable even without a definition. Anonymous classes are still classes.
If Nautilus project cannot deal with the whole Smalltalk power then it is poorly designed and I wonder what's the advantage over the old OmniBrowser...
Hernán
Hi Stef 2015-01-31 6:13 GMT-03:00 stepharo <stepharo@free.fr>:
Hernan
I would really love that you think twice before pressing the button sent mail. Else I will finish to put you on my kill list and I will be sad but so far I see from you often frustration. Could you try to be positive? You will see as a state of mind this is so much more pleasant.
I will reply to this by private e-mail.
There are many aspects of Nautilus that I do not like but there are even more aspect about the old browser and OB that I hate! And as you know doing is difficult.
You know I wrote several OB browsers so I know OB had problems. OB was not *that* bad. The old browser was. But I just spent too much energy on OB.
So what is the point. How many anonymous classes did I created over the last five year: none.
We have different POV and use cases.
What do we do with class side? packages?
Why do you expect that a tools supporting the Smalltalk metaclass model should suport Anonymous classes?
Because tools should be flexible enough to support other similar artifacts (like anonymous classes) at least without too much modification. How we can evolve if tools are not adaptable?
BTW I'm the guy in Squeak that fixed long long long time ago Behavior new new (So I know a bit on anonymous classes). When I used anonymous classes I did it to support instance based programming. So should I expect my hack to work with normal browser?
When I think about halting SystemWindow>>delete automatically I miss the instance-based behavior. I do not consider it a hack. Now Glamour could be a solution? It would support building tools for all the other experiments (MethodWrappers, Ghosts, Multi-Methods, Wide Classes, etc)? Now may be the anonymous classes you create should return a dummy package.
I think that would be a good solution.
Stef
Le 26/1/15 07:44, Hernán Morales Durand a écrit :
I want to discuss case 14789 (https://pharo.fogbugz.com/f/
cases/14789/Nautilus-assumes-a-class-always-understand-package) because a class should be browseable even without a definition. Anonymous classes are still classes.
If Nautilus project cannot deal with the whole Smalltalk power then it is poorly designed and I wonder what's the advantage over the old OmniBrowser...
Hernán
Hi Hernan, Stef, 2015-02-01 9:14 GMT+01:00 Hernán Morales Durand <hernan.morales@gmail.com>:
Hi Stef
2015-01-31 6:13 GMT-03:00 stepharo <stepharo@free.fr>:
Now may be the anonymous classes you create should return a dummy package.
I think that would be a good solution.
Current RPackageOrganizer has a pseudo package which is _UnpackagedPackage. Why not use this one?
Thierry
I will reply to this by private e-mail.
There are many aspects of Nautilus that I do not like but there are even more aspect about the old browser and OB that I hate! And as you know doing is difficult.
You know I wrote several OB browsers so I know OB had problems. OB was not *that* bad. The old browser was. But I just spent too much energy on OB.
:)
What do we do with class side? packages?
Why do you expect that a tools supporting the Smalltalk metaclass model should suport Anonymous classes?
Because tools should be flexible enough to support other similar artifacts (like anonymous classes) at least without too much modification. How we can evolve if tools are not adaptable?
now classes belongs to a package so the class browser assume that your class must belong to a package.
BTW I'm the guy in Squeak that fixed long long long time ago Behavior new new (So I know a bit on anonymous classes). When I used anonymous classes I did it to support instance based programming. So should I expect my hack to work with normal browser?
When I think about halting SystemWindow>>delete automatically I miss the instance-based behavior. I do not consider it a hack.
Now Glamour could be a solution? It would support building tools for all the other experiments (MethodWrappers, Ghosts, Multi-Methods, Wide Classes, etc)?
May be. :)
participants (6)
-
Eliot Miranda -
Hernán Morales Durand -
Marcus Denker -
Nicolai Hess -
stepharo -
Thierry Goubier