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 <mailto: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 <https://pharo.fogbugz.com/f/cases/14063/clean-up-definitionForNautilus> Marcus