Hi,
I am trying to extend the test example to use a special function that is recursive. As an example, I am defining f(x) to compute the sum of the squares from 0 to x.
When I am trying to dynamically redefining the function to simply add 1 to its result, this new definition seems to get called "inside" as well.
What do I have to do to get the (assert (eql (f 5) 56))) working??
I am using LispWorks MacOSX by the way.
Thanks for any help,
Peter.
PS: By the way, is there possibly any example existing of the cached fibonacci function using the current version of aspectL?
-----------------
(progn (define-special-function f (x) (:definer f*)) (defmethod f* ((scope t) x) (if (zerop x) 0 (+ (* x x) (f (1- x))))) (assert (eql (f 5) 55))
(with-special-function-scope (f*) (defmethod* f* ((scope dynamic) x) (1+ (call-next-method))) (assert (eql (f 5) 56))) (assert (eql (f 6) 91)))