Am 26.08.2013 um 10:56 schrieb Esteban Lorenzano <[email protected]>:

> 
> On Aug 25, 2013, at 9:40 AM, Camille Teruel <[email protected]> wrote:
> 
>> 
>> On 24 août 2013, at 19:20, Camillo Bruni wrote:
>> 
>>> We have now:
>>> 
>>> String >> #asClass
>>> String >> #asClassIfAbsent:
>>> String >> #asClassIfPresent:
>> 
>> I don't understand why we need this new way.
>> Is it just to avoid calling 'Smalltalk globals at: #MyClass'?
> 
> exactly
> 
>> Because these names are confusing, and the 'as' prefix suggests a conversion 
>> while it's an access (with indirection but still a mere access).
>> And #asClass has no sender.
>> If you think 'Smalltalk globals at: #MyClass' is really too long to type, 
>> lets just create a new global ThisEnvironment := Smalltalk globals.
> 
> this was already discussed. With #asClass and relatives what you have is a 
> better abstraction jut because you are decoupled of "Smalltalk globals", it 
> is not a big win now, but it open doors to better designs with environments, 
> etc. 
> At least, that was my understanding when the issue arise at the beginning.
> 
I just find it strange that an as* selector might _not_ return anything needing 
a #asClassIfAbsent: selector. While I'm understanding the intention it does not 
fit in my had. To me it worsens the understanding of as* conversion selectors. 

Norbert

> 
>> 
>> 
>>> 
>>> On 2013-08-24, at 17:55, Fernando Olivero <[email protected]> wrote:
>>>> I prefer to evaluate
>>>> 
>>>> Smalltalk globals classNamed: #MyClass
>>>> 
>>>> Fernando
>>>> 
>>>> On Sat, Aug 24, 2013 at 11:57 AM, Stéphane Ducasse
>>>> <[email protected]> wrote:
>>>>> 
>>>>> Is it
>>>>> 
>>>>> asClass?
>>>>> 
>>>>> Stef
>>>>> 
>>>> 
>>> 
>>> 
>> 
>> 
> 
> 


Reply via email to