[RkWard-devel] RKWard development docs online
Thomas Friedrichsmeier
thomas.friedrichsmeier at ruhr-uni-bochum.de
Sun Aug 22 14:50:51 UTC 2004
Hi David!
> Well, I just had a quick look at the documentation and at the source, which
> seem both fairly clear to me. Just a couple of things:
> 1. About the design overview: maybe listing the classes used in each part
> of the design could be useful (thus linking the overview with the technical
> side) ? A way to do this would be to embed it in the doxygen doc code, I
> suppose. I could try to do it (ie document the code), however I fear I
> would make many mistakes. OTOH it would help me getting in the codebase...
I suppose it would indeed be useful. Currently the API-documentation on most
classes is in a fairly bad state. On many of the new classes I did not
document much at all and on some of the old classes the documentation is
getting outdated or even misleading due to undocumented changes. I'll
definitely have to take a look at this soon.
And yes, it would probably be helpful to list the relevant classes in the
design overview. In the current CVS-version I've reorganized the source-files
into several directories, which should also help finding out, what all the
files are about. I'll take the time to work on these aspects after the next
release.
If you would like to start documenting the code, that would be highly welcome,
of course, but note, that currently a lot is once again being changed (see
below). One part that is currently somewhat stable is the plugin-related
classes.
> 2. From what I've understood, the php backend could be easily replaced with
> any kind of interpreter (ie perl, python...). Do you support the idea of
> having several backends or are you definitely against it ?
Well, my position on this has in fact changed a bit. You may have noticed
(depending on which version of the code you looked at), that I've introduced
a new base-class "ScriptBackend", which the PHP backend inherits from. I.e.
the rest of the code no longer needs to know anything about what kind of
backend it's dealing with. This of course was done in order to make it easy
to add different kinds of script-backends.
So yes, I think it may infact be worth trying out some different interpreters.
Still it would probably make sense to use only one or two different
interpreters, so as to keep dependencies low and maintainance of the plugins
easy. I'm not entirely sure anymore, that PHP really is the best choice here.
So my position on this is: It may be worth the effort to try out some more
different backends. We should not have tens of them, though. Maybe PHP will
get replaced with something different.
This is not high on my agenda at the moment, so I won't work on it myself
anytime soon, but if you're interested in adding a new backend - go ahead.
I'll try my best to assist you with any problems that may arise.
> 3. Is there any way to directly enter R-code, ie some kind of editor and
> have it evaluated? Then goodbye emacs :-)
You can enter R-code in the bottom half of the R-Interface watch-window and
have it evaluated using the "Run"-button. That interface is not very usable,
yet (e.g. it loses focus all of the time), but it's there in principle. Read
the "R-Command Editor"-section in the list of open tasks
(http://rkward.sourceforge.net/devel/tasks.php) for some of my plans for the
command editor.
One further problem is that R behaves somewhat differently in embedded mode
than in normal operation. Most importantly, in normal mode, if you e.g. enter
"x", R will print out the object "x". In embedded mode you have to enter
"print (x)" explicitly to have the value printed. It should be possible to
work around this, but those are some of the quirks you'll see for now.
> 4. As to the wizard/dialog mode, I think wizard mode should be set as
> default. Maybe it is not the case because Rkward is very much a work in
> progress?
Changing that setting is easy to do, and I don't have a strong opinion on what
should be the default. Anybody else have an opinion on this? Otherwise I'll
go ahead and change it.
Two further notes: 1) Right now I'm working on a new release that will put the
internal workings of RKWard on a more solid foundation. An internal
representation of the objects in the R-workspace is added and I'm currently
working on putting it to use in the editor etc. The visible result of this
will be that RKWard will be able to deal with several tables (though on first
startup RKWard will still present you a single empty table like e.g. SPSS)
and will allow you to inspect objects in the workspace. Quite a lot of
classes are being touched, so I will delay documentation enhancements until
things have stabilized enough for the next release. I hope to complete this
work within the next few days.
2) You sound interested in joining the project, and I'd be very happy to
welcome you (not trying to push you, though). If you would like to start
working on some specific part of RKWard, just tell me. If you want
CVS-access, you'll get it. If you'd like me to take a look at patches/answer
specific questions, I'd be happy to do so.
Thomas
More information about the Rkward-devel
mailing list