Art: "how AOP might be implemented in Unicon (preferably by using existing language features rather than adding new ones? "

Procedure names are global variables, so one can assign to them during runtime, and change will be applied wherever particular procedure is used. If one want that put also counts

##################################
global original_put, put_counter
procedure new_put(a,b)
{ /put_counter:=0; put_counter }+:=1
original_put(a,b)
end

# somewhere in program

original_put:=put
...
put:=new_put           #or even put:=?[original_put,new_put]

Technique is, of course, well known and discussed for long time, just maybe it is not noted that it is recently called AOP; this one even dynamical, one can chose which aspect to use (or not) during runtime.


----
Kazimir Majorinc, Zagreb, Croatia

Reply via email to