[R-gui] Interfaces between GUIs and R
Hi! Since you explicitely mention RKward, I'll have to comment. In fact, RKward runs R in a separate thread and communicates via STDIN/STDOUT. This was more of a quick and dirty approach however, and I did not really think it was a good design. The very vague idea I had on how to deal with graphics and the like was to pass them via temporary files. Not very efficient, not very elegant. By the way, however, RKward is on ice, and not likely to come back. Since I failed to attract further developers, and did not feel, I could reasonably get that program anywhere all alone, I went over to obversive (which BTW - shameless plug - runs on MacOSX, among other platforms). Zed Shaw is currently working on a CORBA-based backend for obversive, that might potentially be of interest to other GUI-projects, too. Last thing he said, he's close to having the basic functionality working. Now for obversive, I have not bothered myself with the backend at all, but it would seem to me, like the functionality you mention would indeed come in handy. Zed is obviously more qualified to comment on this in detail. Generally, I'd think it's a good idea to join forces on those problems, that all of our projects will have to face sooner or later. Thomas
On Wednesday 02 April 2003 23:39, Byron Ellis wrote:
Hi folks, this is a question for all you GUI developers out there though, in particular, to those who work on SciViews and RKward (though anyone else is certainly welcome to chime in). Presently, my StatPaper app (which will have a website soon, I've just been busy this week) and AFAIK RKward employ a "kernel"-type interaction method (SciViews mentions a kernel, but I haven't been able to test it to see how it works) with R, that is R itself runs as a separate process and communication takes place over either the STDIN/STDOUT associated with the process or through some other means (say, UNIX sockets). This works fine if we're just passing text back and forth, but when we want to start passing objects or graphics device information things start to do downhill pretty quickly. My question: Is there any interest in developing a general kernel interaction protocol for R GUIs? This would most likely include the following: * Representation of data objects * Execution of R statements * Returning graphics of the kernel link * ??? Recently, I've been looking at the OpenMath protocol (http://www.openmath.org) for use in StatPaper and it seems fairly simple and robust. It bears a great deal of resemblance to the MathLink protocol employed by Mathematica. At the moment I think this entire thing could be done as an R package, possibly using the REventLoop mechanism for the server (though I don't know that it would be necessary) and also providing client access so that two R installations could communicate (I know that Rpvm and Rmpi already exist, though they have a somewhat different goal) in a standard fashion if desired. Byron Ellis (bellis@hsph.harvard.edu) "Oook" - The Librarian