R Developer Page
This site is intended as an intermediate repository for more or
less finalized ideas and plans for the R statistical system. Most
parts of the site are open to the public, and we welcome discussions
on the ideas, but please do not take them for more than that, in
particular there is no commitment to actually carry out the plans in
finite time unless expressedly stated.
The site also includes a collection of technical papers about R.
For general information about R see the R Project's homepage.
This page (and most of its links) are updated daily and so may not
be absolutely current. The up-to-the-minute version can be seen at
Version 3.3.0 ("Supposedly Educational") was released on 2016-05-03.
The wrap-up release of the R-3.2.x series was 3.2.5 ("Very, Very Secure Dishes") on 2016-04-14.
The date for the next release is not yet set.
The overall release schedule is to have annual x.y.0 releases in
Spring, with patch releases happening on an as-needed basis. It is
intended to have a final patch release of the previous version shortly
before the next x.y.0 release.
Material in this section is at least 6 months' old, and may or may not
still be relevant. In particular, some of the proposals here have
been implemented in slightly different ways, or since been extended.
Subversion/CVS logs for
- Updating packages for changes in R
Notes on Encodings and R,
including the current implementation planned for 2.1.0.
Open bugs in the repository (original
correspondence truncated to 500 lines per message). No longer updated.
- CVS tips
RFCs and writeups
RFC on Sparse matrices in R
An embeddable R library
Some early notes on name
spaces, and the name
space implementation for R 1.7 (also available
in pdf format).
Some notes on references,
external objects, or mutable state for R and a simple
implementation of external references and finalization added
to 1.2. A simple regular
expression package provides an example of using this facility.
An outline of a preliminary weak reference mechanism is available.
Details are likely to change after more experience is gained with
this in some internal uses.
Some notes on the generational
collector and its write
Some very preliminary notes on byte code
compilation for R
Luke's notes on
threading, GUI, and asynchronous IO issues. Some of the
reference links are messed up; the full references are in the BibTeX
file. Duncan also has a set of
notes on threading.
- A simple
alternate experimental implementation of tcltk as a proof of
concept for an approach that uses a separate GUI server process
with inter-process message passing (which may be easier to get to
work acorss UNIX/Windows/MacOS).
preliminary experimental implementation of exception handling
for R. Also a simple
mechanism for managing dynamic state.
- Some notes on possible enhancements to
the package installation procedure.
of a new way of resolving C and Fortran routines
and example package
of the new, extensible mechanism for converting arguments in
- Developers notes on the
methods and classes
package. Related pages discuss compatibility issues for formal vs
old-style classes and methods, and other questions of strategy for
future work, including areas where we are
beginning to extend the API in Programming with Data.
on some recent changes to functions
assign, and their relatives, to allow consistent use
of environments and other cleanups.
Dataeditor restructuring ideas (outdated)
Thoughts on embedding Tk in R (outdated)
Notes on the
= operator in assignments.
Some notes on a new save/load format and a serialization
mechanism for R.
An RFC on
changes to R base graphics and the graphics device drivers.
Notes and Examples
on callbacks that are invoked at the end of each
successfully completed top-level expression.
A document-in-progress describing the
changes to the graphics system
from 1.3.1 to 1.4.0
A proposal for
changing the specification of fonts in R and
another one extending the discussion to
and alpha transparency specifications in R.
list of R devices, including device maintainers and pointers to
where the code resides.
A package that provides a
null graphics device; includes a vignette, "devNull", that
documents how to create a new graphics device as an add on package.
- Description of the nonstandard
evaluation rules in R 1.5.1 and some
suggestions. (updated). Also an R
function and docn for making model
frames from multiple formulas.
- the Ideas List
R and databases area
Material mainly for the core team
The core team can access the source files for this site by
svn checkout https://svn.r-project.org/R-dev-web/trunk R-dev-web
Any commit to this area will be reflected in the web pages at the next
(daily) update. The current version can be seen at