On Sun, May 13, 2018 at 6:37 PM, Herbert Vojčík <he...@mailbox.sk> wrote:

>
>
> Guillermo Polito wrote:
>
>> Just be careful, that privateState thing looks like a Moose only Famix
>> feature. It't not available in plain Pharo objects :)
>>
>
> In ES6 mailing list, they had this problem re how to do private state for
> objects, and it was shown that having private state is sort of isomorphic
> to having WeakMap indexed by objects. So in case of Pharo, I'd say using
> WeakIdentitityKeyDictionary can do the trick. Without resorting to any
> external dependency.
>

This works if the WeakMap is ephemeral. We should see in latest Pharo7 if
Ephemerons are working.


>
> Herby
>
> On Wed, May 9, 2018 at 2:09 AM, Alidra Abdelghani via Pharo-users <
>> pharo-users@lists.pharo.org <mailto:pharo-users@lists.pharo.org>> wrote:
>>
>>
>>
>>     ---------- Forwarded message ----------
>>     From: Alidra Abdelghani <alidran...@yahoo.fr
>>     <mailto:alidran...@yahoo.fr>>
>>     To: Pavel Krivanek <pavel.kriva...@gmail.com
>>     <mailto:pavel.kriva...@gmail.com>>
>>     Cc: Any question about pharo is welcome <pharo-users@lists.pharo.org
>>     <mailto:pharo-users@lists.pharo.org>>
>>     Bcc:
>>     Date: Wed, 9 May 2018 01:09:06 +0100
>>     Subject: Re: Package extension. Adding instance variables to classes
>>     Hi Pavel,
>>
>>     Thank you for your answer.
>>     I actually didn’t know about this mechanism.
>>     I think it is will do the job :)
>>       I have probably to rewrite some parts pf my code to access my
>>     variables through privateState.  no?
>>
>>
>>     Thanks again
>>     Abdelghani
>>
>>>     On 07 May 2018, at 13:15, pharo-users-requ...@lists.pharo.org
>>>     <mailto:pharo-users-requ...@lists.pharo.org> wrote:
>>>
>>>
>>>     Message: 1
>>>     Date: Mon, 7 May 2018 13:43:56 +0200
>>>     From: Pavel Krivanek <pavel.kriva...@gmail.com
>>>     <mailto:pavel.kriva...@gmail.com>>
>>>     To: Any question about pharo is welcome
>>>     <pharo-users@lists.pharo.org <mailto:pharo-users@lists.pharo.org>>
>>>     Subject: Re: [Pharo-users] Package extension. Adding instance
>>>     variables to classes
>>>     Message-ID:
>>>     <CAHN2FzeMiBL4Y8asJ0XCjS2AQdxycoN+pbc+Hsd=trmnmui...@mail.gmail.com
>>> <mailto:CAHN2FzeMiBL4Y8asJ0XCjS2AQdxycoN+pbc+Hsd=trMnmuiJqw@
>>> mail.gmail.com>>
>>>     Content-Type: text/plain; charset="utf-8"
>>>
>>>     2018-05-07 12:25 GMT+02:00 Alidra Abdelghani via Pharo-users <
>>>     pharo-users@lists.pharo.org <mailto:pharo-users@lists.pharo.org>>:
>>>
>>>
>>>>
>>>>     ---------- P?eposlan? zpr?va ----------
>>>>     From: Alidra Abdelghani <alidran...@yahoo.fr
>>>>     <mailto:alidran...@yahoo.fr>>
>>>>     To:pharo-users@lists.pharo.org <mailto:pharo-users@lists.pharo.org>
>>>>     Cc:
>>>>     Bcc:
>>>>     Date: Mon, 7 May 2018 11:25:49 +0100
>>>>     Subject: Package extension. Adding instance variables to classes
>>>>     Hi,
>>>>
>>>>     I am working on a package named ClassNamesAnalyzer and I need to
>>>>     add code
>>>>     to third party classes in other packages (for instance the
>>>> FAMIX-Core
>>>>     package).
>>>>     ?Extending? third party classes with methods is easy; I just need to
>>>>     categorise my methods under the *ClassNamesAnalyzer protocole so
>>>> that
>>>>     loading my package will load them in the image.
>>>>     However, if I want to add instance variables to theses classes,
>>>>     they are
>>>>     not there when I load the package in a new image.
>>>>
>>>>     *So my question is* : is there a way to include instance variables
>>>>     addition to other packages in my package?
>>>>
>>>>
>>>     Currently not, you should use privateState
>>>
>>>
>>>     *Another question is* : is it good practice to add instance
>>>>     variables to
>>>>     classes in third party packages and is there a way to avoid it
>>>>     (because I
>>>>     am not very confortable with that idea)?
>>>>
>>>>
>>>     It is not, see FAMIXContainerEntity>>#definedAnnotationTypes how
>>>     this issue
>>>     is currently being solved using the privateState.
>>>
>>>     Cheers,
>>>     -- Pavel
>>>
>>>
>>>
>>>>     Thanks in advance,
>>>>     Abdelghani
>>>>
>>>
>>
>>
>>
>>
>>
>> --
>>
>>
>>
>> Guille Polito
>>
>> Research Engineer
>>
>> Centre de Recherche en Informatique, Signal et Automatique de Lille
>>
>> CRIStAL - UMR 9189
>>
>> French National Center for Scientific Research - _http://www.cnrs.fr_
>>
>>
>> *Web:* _http://guillep.github.io_
>>
>> *Phone: *+33 06 52 70 66 13
>>
>>


-- 



Guille Polito

Research Engineer

Centre de Recherche en Informatique, Signal et Automatique de Lille

CRIStAL - UMR 9189

French National Center for Scientific Research - *http://www.cnrs.fr
<http://www.cnrs.fr>*


*Web:* *http://guillep.github.io* <http://guillep.github.io>

*Phone: *+33 06 52 70 66 13

Reply via email to