Philippe Grosjean
2007-Jul-06 13:15 UTC
[Rd] Hook for running a function before evaluation
Hello, I like much addTaskCallback() and friends. However, there are situations were we would like to have a function run BEFORE, not after every top-level tasks. I think specifically to reset options(width = ) to accommodate to the current width of the console, using something like: options(width = system("tput cols")) I am sure there are many other situations where this could be useful. Combining tasks run before and after evaluation, one could design a system to (remotely) indicate when a given R kernel is starting/evaluating/ending evaluation of some code (with Rpad in mind, for instance). How difficult would it be to implement such Tasks run before top-level ones? Best, Philippe -- ..............................................<?}))><........ ) ) ) ) ) ( ( ( ( ( Prof. Philippe Grosjean ) ) ) ) ) ( ( ( ( ( Numerical Ecology of Aquatic Systems ) ) ) ) ) Mons-Hainaut University, Belgium ( ( ( ( ( ..............................................................
Hi Philippe, This is exactly the approach being taken in RExecServer (which is in turn possibly connected to front ends via distributed objects). It's an OS X app so the model is my_ReadConsole(...) { didFinishEvaluationForInterpreter(...); internalReadConsole(...); (usually start the run loop and wait for an appropriate event) willBeginEvaluationForInterpreter(...); } technically there should also be shouldBeginEvaluationforInterpreter() to let us bail out of evaluation and head back to the reader loop. http://repo.or.cz/w/RExecServer.git On 7/6/07, Philippe Grosjean <phgrosjean at sciviews.org> wrote:> Hello, > I like much addTaskCallback() and friends. However, there are situations > were we would like to have a function run BEFORE, not after every > top-level tasks. I think specifically to reset options(width = ) to > accommodate to the current width of the console, using something like: > > options(width = system("tput cols")) > > I am sure there are many other situations where this could be useful. > Combining tasks run before and after evaluation, one could design a > system to (remotely) indicate when a given R kernel is > starting/evaluating/ending evaluation of some code (with Rpad in mind, > for instance). > > How difficult would it be to implement such Tasks run before top-level ones? > > Best, > > Philippe > -- > ..............................................<?}))><........ > ) ) ) ) ) > ( ( ( ( ( Prof. Philippe Grosjean > ) ) ) ) ) > ( ( ( ( ( Numerical Ecology of Aquatic Systems > ) ) ) ) ) Mons-Hainaut University, Belgium > ( ( ( ( ( > .............................................................. > > ______________________________________________ > R-devel at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel >-- Byron Ellis (byron.ellis at gmail.com) "Oook" -- The Librarian