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