[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [aosd-discuss] Dynamically scoped functions
> I have pulled a fast one here. The !cflowbelow is indeed not
> so easy to
> describe with just a function that creates a list of function
> names. But
> I still think that's a good direction to investigate.
And bit by bit you move towards a scheme in which there is some
kind of predicate, that takes a description of some kinds of points
in the execution (or code).
In other words, pointcuts operating on join points. Or, in the more
general terminology of Masuhara's ECOOP 2003 paper, a means of selecting
join points and join points.
> Untested code which won't work. Better:
>
> (let ((org-main (symbol-function 'main)))
> (setf (symbol-function 'main)
> (lambda (&rest args)
> (dflet ...
> (funcall org-main ...)))))
This doesn't really work either. The problem is that you may not know
the name of the main procedure. Doing it this way weakens the non-invasiveness
(obliviousness) property. Because I have to publish all the possible top-level
entry points.