[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.