But practically, when are you interested to query existence of a global which is not a class?
Concerning asClass, it does not resolve anything, how do you specify the environment? Will it be included into the String and decoded? 'MyEnvironment.MyClass' asClass? What if you don't provide a fully qualified string? 2013/5/2 Pavel Krivanek <pavel.kriva...@gmail.com> > asGlobalOrSomethingLikeThat :-) > > -- Pavel > > > On Thu, May 2, 2013 at 11:59 AM, stephane ducasse < > stephane.duca...@free.fr> wrote: > >> >> On May 2, 2013, at 10:36 AM, Frank Shearar <frank.shea...@gmail.com> >> wrote: >> >> > What's "global"? Even if you haven't implemented scoped environments, >> > rather use a name that doesn't imply that you'll never have scoped >> > environments. >> >> :) >> this is why I proposed asClass >> >> Now asGlobal can be interpreted as as globally accessible stuff. >> >> >> > #asClass sounds better, except for Guillermo's point about well-known >> > things that aren't classes. >> > >> > frank >> > >> > On 2 May 2013 09:31, Nicolas Cellier < >> nicolas.cellier.aka.n...@gmail.com> wrote: >> >> 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 <s...@stfx.eu> >> >>> >> >>> >> >>> On 02 May 2013, at 06:03, Igor Stasenko <siguc...@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. >> >>>> >> >>> >> >>> >> >> >> > >> >> >> >