[Pharo-users] Ring package, when to use it?
Hi! I am trying to understand in what scenarios is good to use Ring package instead of objects of compiled methods, classes and r-packages. It is not clear to me. For example if I want to ask for where a method/class/package is referenced should I consider the Ring package? When I should consider to use Ring? Thank you a lot, Juraj
Re: [Pharo-users] Ring package, when to use it?
Thank you Marcus for the explanation. So now I understand that if I want to analyse existing packages/class/methods/etc in the image, Ring is not a kind of interest. But as I think about it, if someone uses Ring as a base to analyse environment, then it could be useful to use the same analysis tool for any source, e.g. not loaded packages. Am I right or are the some limitations? Thanks. Juraj On Sep 24, 2014, at 1:28 PM, Marcus Denker marcus.den...@inria.fr wrote: On Wed, Sep 24, 2014 at 6:03 PM, Juraj Kubelka juraj.kube...@gmail.com wrote: Hi! I am trying to understand in what scenarios is good to use Ring package instead of objects of compiled methods, classes and r-packages. It is not clear to me. For example if I want to ask for where a method/class/package is referenced should I consider the Ring package? When I should consider to use Ring? The idea is that Ring models Classes/methods that you want to reason about, but that are not actually really in the system installed. This is needed often and everyone implements their own model: Monticello (MCClassDefiniion), FilePackage (Pseudoclass/PseudoMethod), RB (RBClass, RBMethod). Ring is a first step to propose one model that everyone can use who needs to model code that is not installed in the system. e.g. if you want to analyse and mcz package, instead of loading it (with all the side effects), you could load it as a Ring model. Like everything that exists it is not perfect (else it would not exist)... e.g. we actually should replace PseudoClass and PseudoMethod by Ring, for example. Any improvement (both to the model or its use) are very welcome. E.g. one thing I am slowly doing is to simplify it (e.g. removing the RGFactory class) Marcus
Re: [Pharo-users] Ring package, when to use it?
On Wed, Sep 24, 2014 at 6:03 PM, Juraj Kubelka juraj.kube...@gmail.com wrote: Hi! I am trying to understand in what scenarios is good to use Ring package instead of objects of compiled methods, classes and r-packages. It is not clear to me. For example if I want to ask for where a method/class/package is referenced should I consider the Ring package? When I should consider to use Ring? The idea is that Ring models Classes/methods that you want to reason about, but that are not actually really in the system installed. This is needed often and everyone implements their own model: Monticello (MCClassDefiniion), FilePackage (Pseudoclass/PseudoMethod), RB (RBClass, RBMethod). Ring is a first step to propose one model that everyone can use who needs to model code that is not installed in the system. e.g. if you want to analyse and mcz package, instead of loading it (with all the side effects), you could load it as a Ring model. Like everything that exists it is not perfect (else it would not exist)... e.g. we actually should replace PseudoClass and PseudoMethod by Ring, for example. Any improvement (both to the model or its use) are very welcome. E.g. one thing I am slowly doing is to simplify it (e.g. removing the RGFactory class) Marcus
Re: [Pharo-users] Ring package, when to use it?
On 24 Sep 2014, at 18:35, Juraj Kubelka juraj.kube...@gmail.com wrote: Thank you Marcus for the explanation. So now I understand that if I want to analyse existing packages/class/methods/etc in the image, Ring is not a kind of interest. But as I think about it, if someone uses Ring as a base to analyse environment, then it could be useful to use the same analysis tool for any source, e.g. not loaded packages. Am I right or are the some limitations? That is the idea… Ring Definition and normal classes/methods share a common API and can be used interchangeably. Marcus signature.asc Description: Message signed with OpenPGP using GPGMail