> Am 04.11.2014 um 13:16 schrieb Marcus Denker <marcus.den...@inria.fr>:
> 
> 
>> On 04 Nov 2014, at 09:59, Norbert Hartl <norb...@hartl.name 
>> <mailto: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.
>> 
> 
> This would be a nice useless for Reflectivity…  one way of describing it is 
> “like method wrappers, but generalized”. e.g. you can put a “wrapper” on any 
> kind of AST node.
> After the breakpoints, we could use that as the next client.
> 
> 
Sure, I forgot. If I would have the need to implement it I would try solving it 
with meta-links. Basically it does the same as the method wrapper without 
having the need to exchange the compiled method.

Norbert

> 
>       Marcus
> 
>> Norbert
>> 
>> Am 04.11.2014 um 07:03 schrieb "p...@highoctane.be 
>> <mailto:p...@highoctane.be>" <p...@highoctane.be 
>> <mailto:p...@highoctane.be>>:
>> 
>>> 
>>> Le 3 nov. 2014 22:13, "Hilaire" <hila...@drgeo.eu 
>>> <mailto: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 <mailto: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 <http://drgeo.eu/>
>>> > iStoa - http://istoa.drgeo.eu <http://istoa.drgeo.eu/>
>>> >
>>> >
>>> >
> 

Reply via email to