On 13 Nov 2013, at 06:36, Tudor Girba <tudor@tudorgirba.com> wrote:

Hi Uko,

Groups are essential for Moose. When we have one entity, we have polymorphism and because of that we can nicely map menu items and scripting methods on unary messages. To have the same on groups of objects, we needed to have polymorphism as well.

The magic related to the type inference is more interesting when you interactively choose entities to go in a group. Then, based on the type of the elements, the group type changes at runtime. This dynamic typing logic is documented here:
MooseGroupTest>>testGroupType

Let me know if you have more questions.

I figured it out myself. The only thing is that when you look at existing implementations you can’t see what you have to do to make it work. But now I see that there is a little guide in MooseGroup comments. 

Uko



Cheers,
Doru

p.s. When trying to understand a class in Pharo, it is always a good idea to check the superclasses :)




On Tue, Nov 12, 2013 at 11:51 PM, Yuriy Tymchuk <yuriy.tymchuk@me.com> wrote:
Hail to the Pharo! I’ve figured it out by putting a breakpoint in FAMIXMethodGroup instance creations. And I have to say that there is quite a lot of meta-magic involved :)


On 12 Nov 2013, at 23:04, Yuriy Tymchuk <yuriy.tymchuk@me.com> wrote:

> Hi everyone.
>
> Probably I’ve missed something, but how does it work in a way that when you select “All methods” in MooseFinder you get a FAMIXMethodGroup, and not just a MooseGroup? I’ve checked all the methods of FAMIXMethodGroup and all references to FAMIXMethodGroup, but I can’t figure it out.
>
> Cheers
> Uko
> _______________________________________________
> Moose-dev mailing list
> Moose-dev@iam.unibe.ch
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev


_______________________________________________
Moose-dev mailing list
Moose-dev@iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev



--
www.tudorgirba.com

"Every thing has its own flow"
_______________________________________________
Moose-dev mailing list
Moose-dev@iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev