in reply to semi-OT: Lisp code
in thread OO, Class::MethodMaker, and get_set

Maybe there's something out there that implements something akin to Lisp's :after methods in Perl that would do what you want.
Well, there is Hook::LexWrap. But if what I read elsewhere in this thread is true (that we assume the computation of 'C' is expensive and we'd like to cache it), then you'd just want to clear the 'C' cache when you change 'A' or 'B', and when you request 'C', just return the cached value if it exists, else compute, cache, and return it.

Replies are listed 'Best First'.
Re: Re: semi-OT: Lisp code
by hding (Chaplain) on Apr 01, 2003 at 18:37 UTC

    This is true. I was just trying to implement something as close as possible to what the original poster asked for with respect to his toy problem, which was recomputation of c whenever a or b was set. Of course it's be easy to modify things to use a cache; e.g. set c to nil (or some other convenient marker) whenever a or b is set and put a :before method on the method c that computes and sets the slot c it if it is nil.