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.

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"