On Tue, Nov 4, 2014 at 9:59 AM, Norbert Hartl <norb...@hartl.name> wrote:
> Ghost won't be a big help here. Slots would be a good solution but not if > it needs to be removable on runtime. So it seems MethodWrappers is your > best bet. I'd try create a caching MethodWrapper, mark all the needed > methods with a pragma and then install the MethodWrapper on these. Could be > a package wide install/uninstall if you need that. > I loaded MethodWrappers in 3.0 as I saw in http://forum.world.st/MethodWrappers-td3829576.html#a4601624 Gofer it squeaksource: 'MethodWrappers'; package: 'MethodWrappers4'; load. It loads. But no test seems to be fine. [image: Inline image 1] What version should I be using? Phil > Norbert > > Am 04.11.2014 um 07:03 schrieb "p...@highoctane.be" <p...@highoctane.be>: > > > Le 3 nov. 2014 22:13, "Hilaire" <hila...@drgeo.eu> a écrit : > > > > What's wrong with? > > > > myData > > ^ data ifNil: [data := self computeMe] > > That I do have a lot of places like this and do not want these data > littering the code. > > Aspects would solve this but we do not have that. > > Also I need the mechanism to be removable. > > So, I read something about MethodWrapper, ghost, slots... Can't one use > any of these things to do this memoization cleanly? > > Phil > > > > > > > > > Le 03/11/2014 16:10, p...@highoctane.be a écrit : > > > How can I do memoization in Pharo? > > > > > > I mean, a generic mechanism that will help me wrap the caching around > > > the method invocations / messages. > > > > > > I have expensive calls that do not have to refresh their results as > > > often as they are called. > > > > > > TIA > > > Phil > > > > > > -- > > Dr. Geo - http://drgeo.eu > > iStoa - http://istoa.drgeo.eu > > > > > > > >