Sounds a bit like VW #{ }

This sounds good to me, but don't use globalBinding, I would expect this one to answer the binding (Asociation) rather than the value.


2013/5/2 Sven Van Caekenberghe <sven@stfx.eu>

On 02 May 2013, at 06:03, Igor Stasenko <siguctua@gmail.com> wrote:

> Hi, all
>
> do not think that i am drunk or vent crazy, asking such silly
> question, which at best should be asked only by beginner :)
>
> I know the answer:
>
> Smalltalk at: #SomeName
>
> or
>
> Smalltalk globals at: #SomeName
>
> what stroke me, just now, that both answers is wrong!
>
> It should be:
>
> #SomeName asGlobal
>
> (or suggest more appropriate/precise method name for a symbol)

ConfigurationOfXYZ globalValue project bleedingEdge load.

ConfigurationOfXYZ globalValueIfPresent: [ :configuration | configuration project bleedingEdge load ]

An alternative could be globalBinding, but that is more technical.

#asGlobal sounds like a conversion, on the other hand it is an accepted idiom.

> optionally, we could also have one, with handling absent case:
>
> #SomeName asGlobalIfAbsent: []
>
> same , but only if present:
>
> #SomeName asGlobalIfPresent: [:global | ]
>
>
> Currently, there is 941 references to 'Smalltalk' global in my pharo image.
> If we introduce this convenience method, it will shrink this number
> considerably,
> not saying that code will be more elegant and concise compare:
>
> (Smalltalk globals at: #Foo) doSomething
>
> and
>
> #Foo asGlobal doSomething
>
> P.S. What really strikes me is why we don't have such method from very
> beginning,
> and instead refer to 'Smalltalk' all over the places.
> Some things are so deeply indoctrinated in our minds, that we don't
> even think that it can be different.
>
> --
> Best regards,
> Igor Stasenko.
>