This is place where we (occassionally) give some indication of
projects we are currently working on and thinking of. The hope is to
make people aware of new ideas and plans that we have and hopefully
- solicit opinions and information,
- get a sense of interest, and
- hopefully avoid duplication
We endeavor to do most of our work as add-ons (e.g. packages) to
systems, be they Omegahat, R, S-Plus, Perl, Python, etc. For several
reasons, this is greatly preferred to adding them directly to the core
of the system. Some of the topics described here apply to R and
generally the S language (i.e. R and S-Plus), while others apply to
Omegahat itself and so on.
-
- October
-
- New release of RCurl (0.5-3) that
handles the SSL error that disrupts R CMD check.
-
- September
- Optional type specification for R functions.
- RDoc is the restart of an
object-based documentation system for R objects, data
analysis, tutorials, etc. There is XML support for
R documentation files.
- Updates for the RSPerl and XML packages.
- Ongoing work on SWIG.
- RDCOM releases and code generation from Type libraries.
-
-
- August RSWIG
-
- This is a module for SWIG to generate bindings to C and C++
code for R. The reason for doing this is so that we can use
the gcc translation unit to create the customized typemaps
for C/C++ code and use SWIG's facilities for specifying typemaps.
We don't want to end up simply with SWIG as we can go further.
-
RDCOM packages and code generation from type libraries.
-
- July/August GccTranslationUnit via Perl
- I have been working on the Perl code to process the
Gcc translation unit dump to analyze C/C++ code.
-
- July/August RDCOM packages
- Along with Chris Neff, we have been testing and extending
the RDCOMEvents, RDCOMClient, RDCOMServer, and the SWinTypeLibs
packages.
And Chris is building a high-level interface to Excel from R.
There are regular pre-releases of the packages available in the
Prerelease/ directory.
-
- Suffix trees
- An interface to suffix trees.
-
- May Exploration of building Office Add-ins programmed in R
via RDCOMServer, RDCOMClient and RDCOMEvent packages and general
utilities to Excel and Word.
-
-
- May 24th RSPerl - added support for calling arbitrary R functions from
Perl as R::func() (e.g. R::plot()) via AUTOLOAD.
-
-
- May 23rd Updates for SSOAP and
RCurl as Windows binaries.
-
-
- May 16th - Windows versions of XML being built as part of the regular CRAN
binary builds thanks to Uwe Ligges.
-
-
- May 23rdFinally uploaded an update for
RMatlab to handle the case of . in the
name of an R element which must be converted to
a valid name for a field in a Matlab struct.
-
-
- RMatlab
- The RMatlab package is a bi-directional interface between R
and Matlab. It is in the same spirit as the other inter-system
interface packages connecting R with, e.g. Perl, Python, Java,
ObjectiveC, etc.
-
- C processing tools
-
Building on ideas reflectance and experience with the Slcc
package, we have developed a different approach for reading
information from C/C++ code and being able to
programmatically generate interfaces to arbitrary routines
and data structures and C++ classes.
This can also be used to create the native routine registration
table.
We use gcc/g++ directly to generate the translation unit
and then process this in Python.
-
- January
- Navigable documents
that are super-sets of vignettes
and have multiple resolutions
at which one can read them.
Work with Robert Gentleman.
-
- January 2003
- Experiment with Qt in R.
Access the meta-information from R of Qt classes
so that we can find the slots, signals and properties.
-
- December 2002
Facilities for reading type information
from Windows type libraries, DLLs, and (D)COM objects.
-
-
- December 2002
An extensible distance function that allows one
to specify a C routine to use to compute the
distances between two records.
-
This is an example of passing C routines
between packages.
-
- November/December 2002 R DCOM client package.
- Object Server in the works.
-
- December 2002
A vignette browser that displays the text and code chunks
and allows one to interactively control the evaluation of
the different code chunks and allows for embedded widgets.
The vignettes are written in XML and displayed in HTML.
-
-
- December 2002A package for accessing the Windows registry
hierarchy and values from within R.
-
-
- The RGtk package has been separated into a suite
of packages so that they can be downloaded and
installed separately rather than as a single
monolithic collection.
-
The collection of packages currently consists of:
- RGtk
- RGtkHTML
- RGtkExtra
- RGdkPixbuf
- RGtkBindingGenerator
Others can be easily created using RGtkBindingGenerator
and .defs files describing a library.
-
- XML tools for S documents.
-
A currently very simple package
that starts to allow XML documents containing
S code to be easily processed in S.
This currently allows one to annotate S code
and share the XML file with others who
can run the code directly.
This is convenient for providing
examples of S code, bug reports, etc.
More to come in the future.
-
- A SOAP package for performing remote calls using
HTTP and XML.
- Currently only implements the client side SOAP
mechanism but this contains all that is needed
to implement a server side mechanism directly in R.
-
- R-XLisp interface
-
The RXLisp package
provides a way to embed XLisp within R.
At present, this works only for Unix and
issues need to be resolved regarding the dynamic graphics.
But the basic idea of the interface should be ok.
Connecting the R and XLisp event loops, graphics models,
etc. are not done.
-
- R-Octave interface.
-
This provides the initial, basic connection between R and
Octave,
allowing each system to call functions in the other system.
This is very similar to the other inter-system interfaces
and the user-level converters, etc. will be added soon.
Hopefully, we will also provide a Matlab version also.
-
- C-level class system in R
- This will allow developers (not just R-core) to
define low-level C-code extensions to
R objects, in much the same way as Gtk and X11 use C to provide
Object Oriented programming. One will be able to implement
methods such as print, length, etc. within
these classes and then introduce further methods in
sub-classes.
This class system can be used to implement
arbitrary extensions and provide a single, relatively
easy to experiment with different additions or alternative
implementations.
We can use this to implement S4-style method dispatch
(i.e. generic functions), object tables, connections,
external functions/routines, external data (e.g. matrices in
other systems (e.g. Java), hdf5, etc.)
-
- R AbiWord plugin
- Embedding R inside AbiWord, the Gnome word processor
application will allow us to explore authoring documents
that contain text, code, data, etc.
Combined with the XML, Sxslt and RGtkViewers package,
we are converging on a general and multi-system (e.g. R,
S-Plus, Python, Perl, Java, etc.) authoring and processing
environment for dynamic and interactive documents.
-
- Nested Substitutable Event loop in R
-
We have a framework that allows us to create a stack of
event loops in R that will handle input sources, GUI events,
timers, idle tasks. This provides an abstraction of the event
loop and implementations for both the Gtk and Tcl/Tk
event loops which allow these to be easily merged together.
Currently Unix only. Awaiting feedback!
This should generalize to Qt and Carbon quite easily.
And hopefully Windows will be similar.
Duncan Temple Lang
<duncan@wald.ucdavis.edu>
Last modified: Tue May 24 16:46:20 PDT 2005