Hi Peter,
Thanks a lot for the inquiry. Unfortunately, I have no immediate good answer for your question, and I am currently very busy - I have my PhD defense on Thursday, so please bear with me.
I will get back to this question afterwards as soon as possible.
Pascal
On 27 Nov 2004, at 13:52, ml13@onlinehome.de wrote:
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)))
aspectl-devel site list aspectl-devel@common-lisp.net http://common-lisp.net/mailman/listinfo/aspectl-devel
-- Tyler: "How's that working out for you?" Jack: "Great." Tyler: "Keep it up, then."