Hey john,
I was pondering the timer thing for the last day or so. Not within the lisp but an external timer.
Having little or no knowledge or reactors It may not be possible.
Here are my drug (doctor prescribed) induced thoughts.

Interrupt Timer based on a system variable.
I would use the "date" sys var, but it is write only & may not fire the reactor.
But if it did every time it was updated it would run the call back function which would depend on
a global variable for guidance.
So set the reactor on
Save / update the global variable
.. Global Var
... '( (time_index Time_interval repeate_idx ( lisp_name . (list og arguments optional)))
... (Another lisp, etc)....
... )
Call Back
Get system date & loop through the Global_Var
If (>= (- sys_data time_index) time_interval) ; ok to run
.. call lisp routine with argument(s)
.. if (< repeate_idx 0) ; infant times
... reset time_index
.. else
... deinc repeate_idx
... if (= repeate_idx 0) ; last time here
.... remove lisp from Global Var
... else
.... reset time_index
Well that's it. Depends on how the SysVar Reactor behaves.
What got m thinking about the interrupt was a way to solve this problem:
http://www.theswamp.org/index.php?topic=8969.msg152157#msg152157The lisp stops waiting on some input from the mouse. With the interrupt the draw portion of
the lisp could be run outside the main lisp while waiting for the mouse to move.
Well I thought it may be possible if the reactor could be made to work.
I'm through rambling now, back to the couch.