Please to not use an unary on Symbol
Dispatch on something.

self class environment at: #Array
is the best

For Modules, we made progress and got bitten by many issues and teaching load.


Stef

On Sat, Feb 10, 2018 at 4:50 PM, Clément Bera <bera.clem...@gmail.com> wrote:
> On Sat, Feb 10, 2018 at 4:34 PM, Hernán Morales Durand
> <hernan.mora...@gmail.com> wrote:
>>
>> Hi Clément,
>>
>> First time I read about modules in Pharo.
>> What is a module exactly?
>>
>> What's the problem to solve?
>
>
> It's similar to namespaces with some different, arguably better, features.
>
> Honestly I am not the expert on it so I would like some one else to answer.
>
> Among other things, it solves the problem of having 2 classes with the same
> name (avoiding the prefixes we have like in C). But reportedly that's just a
> side-effect and not the main problem to solve.
>
>>
>> Cheers,
>>
>> Hernán
>>
>> 2018-02-10 9:47 GMT-03:00 Clément Bera <bera.clem...@gmail.com>:
>> > Hi,
>> >
>> > In short, everything that is not namespace/module compatible will be
>> > deprecated/changed/removed in the future, so it is not recommended to
>> > use
>> > it.
>> >
>> > a.2) #Array asClassInEnvironment: Smalltalk globals
>> > b.1) Smalltalk globals at: #Array
>> > => Ok-ish, note that you may need to change 'Smalltalk globals' the
>> > namespace/module when support for those will be added since Array will
>> > be in
>> > a module.
>> > Maybe you want instead to use instead:
>> >
>> > c) self class environment at: #Array
>> > => this will work in the future if your code is a class which
>> > environment/namespace/module includes the Array class you would expect
>> >
>> > a.1) #Array asClass
>> > b.2) Smalltalk at: #Array
>> > b.3) Smalltalk classNamed: #Array
>> > => In which namespace/module are you looking for #Array ? In the future
>> > this
>> > may be removed, alternatively it will work only for globals but not
>> > globals
>> > inside namespace/module which won't work since Array will be in a
>> > module.
>> >
>> >
>> > On Sat, Feb 10, 2018 at 12:57 PM, Peter Uhnák <i.uh...@gmail.com> wrote:
>> >>
>> >> Hi,
>> >>
>> >> what is the canonical way to get a class from a symbol?
>> >>
>> >> a) Converting symbol into class via string protocol
>> >>
>> >> a.1) #Array asClass
>> >> I use this the most, because it is easy, uses unary selector, and so
>> >> far
>> >> I've never ran into any issues. But apparently it is not good -- why?
>> >>
>> >> a.2) #Array asClassInEnvironment: Smalltalk globals
>> >>
>> >> b) Retriving the class by key from the system dictionary
>> >>
>> >> b.1) Smalltalk globals at: #Array
>> >>
>> >> b.2) Smalltalk at: #Array
>> >>
>> >> b.3) Smalltalk classNamed: #Array
>> >>
>> >> c) something else entirely?
>> >>
>> >> I get that using #asClass wouldn't work if there was a different
>> >> environment, however I don't even know in what situation there could be
>> >> a
>> >> different environment, so I cannot assert how problematic it is or
>> >> isn't.
>> >>
>> >> Thanks,
>> >> Peter
>> >
>> >
>> >
>> >
>> > --
>> > Clément Béra
>> > Pharo consortium engineer
>> > https://clementbera.wordpress.com/
>> > Bâtiment B 40, avenue Halley 59650 Villeneuve d'Ascq
>>
>
>
>
> --
> Clément Béra
> Pharo consortium engineer
> https://clementbera.wordpress.com/
> Bâtiment B 40, avenue Halley 59650 Villeneuve d'Ascq

Reply via email to