> On 27 Feb 2015, at 20:47, Damien Pollet <[email protected]> wrote:
>
> On 27 February 2015 at 16:13, stepharo <[email protected]
> <mailto:[email protected]>> 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
<https://pharo.fogbugz.com/f/cases/14063/clean-up-definitionForNautilus>
Marcus