On 27 Feb 2015, at 20:47, Damien Pollet <damien.pollet@gmail.com> wrote:

On 27 February 2015 at 16:13, stepharo <stepharo@free.fr> wrote:
Are we sure that we want to use that =>
I thought about = but this is not an assignement this is a declaration and normally we use | for declaration.
So what would be other alternatives before the world use =>
 
Yes, everything is not yet fixed��� 

But | for local variables is syntax, and it's used as a bracket. It's also the logical or operator���

I'd propose :: because it recalls the :x for block arguments, or -- because it looks like a typographic em-dash:

slots: {
    #local -- ProcessLocalSlot.
    #foo -- SomeOtherKindOfSlot.


interesting!

By the way, using an operator in this way is a little strange: what you read does not match the usual precedence rules (#default: is not a factory method of ProcessLocalSlot, it's an accessor on the result of #local => ProcessLocalSlot)

Oh, true.. that needs to be well documented. (having the method in addition on the class side makes sense, I guess).


Then I still do not understand why we have empty classVariables: to me it does not make sense. I do not get why we like to have empty collections for the sake of having empty collections. We are trapped in some strange ways of thinking.

Are there strong arguments against a cascade ?

Good question. What is clear is that changing methods like

subclass:instanceVariableNames:classVariableNames:category: 

and adding all variants is annoying.

E.g. the ���we do not show the empty pool��� (and the slot definiton) is still just done ���on the surface��� in Natutilus (#definitionForNautilus) as changing #definition is actually
tricky to get all the tests green (esp Monticello).

https://pharo.fogbugz.com/f/cases/14063/clean-up-definitionForNautilus

Marcus