Skip to content
Prev 19 / 1236 Next

[R-gui] Re: R-SIG-GUI digest, Vol 1 #3 - 9 msgs

Mark Myatt <mark@myatt.demon.co.uk> writes:
Also let me chime in briefly. I've had various other stuff on my mind
lately, so I haven't really been up to making any kind of grand policy
statements. This is not really a reply to Mark, I'll just cut his post
up mercilessly so as to provide cues for some of the things that I'd
like to say...
...
Mine too, obviously, although maybe for other reasons: I think it is
important to have the GUI scriptable in R, and the Tcl/Tk model is the
best tested one out there, and cross-platform except for some
low-level issues. 

I do occasionally have doubts, though. Sometimes the Gtk approach and
all its promises about integration with other tools looks attractive,
but I still think we need the internal scriptability. Some efforts in
that direction are gnocl (Tcl interface in the style of Tk) and stklos
(object-oriented Scheme interface). However, both of these are in
their infancy, and essentially one-man jobs.

My general mode of operation has been to concentrate on getting the
R/Tcl interface right and worry less about actually constructing
applications, although I do currently have a student working on
implementing a model-builder tool. The two next things I have on the
agenda are to get an interface to TkTable working, and to employ Tcl
object in the inter-language communication. The former would
essentially give us a data editor for free, and the latter eradicate a
lot of "quoting hell" that is currently going on in the .Tcl()
function. After that, probably have another look at implementing a
graphics driver for Tk canvases (or the zinc extension).
..cue the ctext text widget extension,
http://www.xmission.com/~georgeps/ctext/
It's important alright. For keeping users warm and fuzzy, giving them
the feeling that they can see what data they are operating upon...
TkTable also allows all sorts of embeddings, see e.g.
http://jfontain.free.fr/moodss/ which builds upon it
TkHtml, if the purpose is just to display simple stuff.
Yes.
I appreciate the sentiment, but I'm not really sure I agree. The main
risk of bloating is on Windows, where support libraries are not
available as part of the OS, and considering the fact that people are
prepared to accept a SAS ("minimal"!) installation of close to 1GB, I
think we have some headroom (sometimes I even tend to think that we
should ship the whole *ing GCC/Perl development system along with the
R binaries, rather than try to teach people how to download and
install it). Most Linux distros come with the relevant libraries, so
are not a problem, leaving essentially the group of older Unixen
(Solaris, HP-UX, Irix) with a problem of installing a portfolio of
tools, but there we already assume that people would be willing to
install libjpeg, gnu tool, etc, etc.

What we really want to avoid is "bloat by repetition", 200 routines
doing almost the same thing in the same way (so that if you decide to
do the same thing in a different, better, way, you'll have 200
routines to fix up every time). We really need to make sure that we
create the proper abstractions for the job, so that we can concentrate
on a few key routines.