[Rcpp-commits] r583 - papers/rjournal

noreply at r-forge.r-project.org noreply at r-forge.r-project.org
Fri Feb 5 17:19:02 CET 2010


Author: edd
Date: 2010-02-05 17:19:02 +0100 (Fri, 05 Feb 2010)
New Revision: 583

Modified:
   papers/rjournal/EddelbuettelFrancois.tex
Log:
a number of fixes for page one


Modified: papers/rjournal/EddelbuettelFrancois.tex
===================================================================
--- papers/rjournal/EddelbuettelFrancois.tex	2010-02-05 15:25:39 UTC (rev 582)
+++ papers/rjournal/EddelbuettelFrancois.tex	2010-02-05 16:19:02 UTC (rev 583)
@@ -7,32 +7,34 @@
 
 \abstract{The \pkg{Rcpp} package dramatically simplifies the 
 process of integrating C++ code with R. It provides a
-consistent C++ class hierarchy that map various types of 
+consistent C++ class hierarchy that maps various types of 
 R objects (vectors, functions, environments, ...) to 
-dedicated C++ class. Data interchange between R and C++
+dedicated C++ classes. Data interchange between R and C++
 is managed by simple, flexible and extensible concepts.
-\pkg{Rcpp} substancially lowers the language barrier for programmers
-who want to plug compiled code in an R package.}
+\pkg{Rcpp} substantially lowers the language barrier for programmers
+wanting to combine compiled code with R.}
 
-Writing R Extensions \citep{R:exts} describes in great details
-the various ways to augment R capabilities with compiled code, 
-mostly about C code. The R API described in 
-Writing R Extensions is based on a set of functions and macros
-operating on \code{SEXP}, the internal representation of R objects.
+\section{Introduction}  % [Dirk] I am a tradionalist here ...
 
+R is an extensible system. The 'Writing R Extensions' manual \citep{R:exts}
+describes in great detail the various ways to augment R with compiled code,
+focussing mostly about C code. The R API described in Writing R Extensions is
+based on a set of functions and macros operating on \code{SEXP}, the internal
+representation of R objects.
+
 % appendix A of Chambers's software for data analysis ?
 In this article, we discuss the functionality of the \pkg{Rcpp}
 package, which we believe simplifies dramatically the usage of C++ code
-in R. Combining R and C++ is not a new idea, so we'll start by
-a light review of approaches from other authors and give some historical
+in R. Combining R and C++ is not a new idea, so we start by
+a short review of approaches from other authors and give some historical
 background on the development of \pkg{Rcpp}.
 
-The current version of \pkg{Rcpp} actually hosts together two distincts
-API's. The first --- which we call `classic Rcpp API` --- exists since 
+The current version of \pkg{Rcpp} combines two distincts
+APIs. The first---which we call `classic Rcpp API'---exists since 
 the first version of \pkg{Rcpp}. The second API, enclosed in the 
 \code{Rcpp} C++ namespace is a newer codebase, which we started to develop
-in late 2009. This article mostly concerns the newer API, and 
-highlights some of the key design choices and implementation: 
+more recently. This article %mostly concerns the newer API, and  %% [Dirk] Really?
+highlights some of the key design and implementation choices: 
 lightweight encapsulation of R object in C++ classes, automatic
 garbage collection strategy, code inlining, data interchange between 
 R and C++ and error handling. 
@@ -47,24 +49,25 @@
 \subsection{Historical Context}
 
 \pkg{Rcpp} first appeared in 2005 as a contribution to the \pkg{RQuantLib}
-package \citep{eddelbuettelkhan09:rquantlib} before being released as a CRAN
+package \citep{eddelbuettelkhan09:rquantlib} before becoming a CRAN
 package in early 2006. Several releases followed in quick succession; all of
 these were under the name \pkg{Rcpp}. The package was then renamed to
 \pkg{RcppTemplate} and several more releases followed during 2006 under the
 new name.  However, no new releases or updates were made during 2007, 2008
 and most of 2009.
 
-Given the continued use of the package, it was revived using the former name
+Given the continued use of the package, we revived it using the former name
 \pkg{Rcpp}. New releases started in November 2008 which include an improved
 build and distribution process, additional documentation, and new
 functionality---while retaining the existing interface.  This constitutes the
 `classic \pkg{Rcpp}' interface (described in the next section)
-which will be provided for the forseeable future.
+which will be maintained for the forseeable future.
 
-Yet C++ coding standards continued to evolved. So, starting in late 2009 the
+Yet C++ coding standards continued to evolved. So, starting in 2009 the
 codebase was significantly extended and numerous new features were added.
 Several of these are described below in the section on the the `New
-\pkg{Rcpp}' interface which we also intend to support going forward.
+\pkg{Rcpp}' interface. This new API is our current focus, and we intend to
+both extend and support going forward.
 
 \subsection{Comparison}
 
@@ -88,7 +91,7 @@
 CXXR \citep{runnalls09:cxxr} comes to this topic from the other side: 
 its aim is to completely refactor R on a stronger C++ foundation. 
 CXXR is therefore concerned with all aspects of the R interpreter,
-REPL loop, threading --- and object interchange between R and C++ is but one part.
+REPL loop, threading---and object interchange between R and C++ is but one part.
 %
 Another slightly different angle is offered by
 \cite{templelang09:rgcctranslationunit} who uses compiler output for



More information about the Rcpp-commits mailing list