> > This is what trace does. See the options in impnotes 25.2.5
> It seems to me that there is a small confusion.
> One may use fwrapper to create a utility like trace. But this is not the only
> possible use of fwrapper. In my opinion, the real place for fwrappers is in
> modification of behaviour of black-boxes. Say you have black-box A, which uses
> black-box B. Modifying behaviour of B leads to a new behaviour of A. This
> scenario is not about tracing or debugging. One cannot use trace for this, right?
> Trace traces execution of a given function, i.e. function is executed. But when
> you make a wrapper for a function in ACL, there might be no execution of a
> wrapped function. And a wrapped function can be itself a wrapped function.
My point was that trace is more general that it looks.
It can be used to modify a function arbitrarily, including not
evaluating the original code at all.
That said, the advice facility available in other places (originally
interlisp, I believe) still has some advantages, in particular for the
case where different users/uses want to change the same function for
different purposes. However, such uses cannot really be independent
of each other anyway, e.g., one has to decide whether to call the
Get latest updates about Open Source Projects, Conferences and News.