[Rcpp-commits] r758 - papers/rjournal

noreply at r-forge.r-project.org noreply at r-forge.r-project.org
Sun Feb 21 19:41:46 CET 2010


Author: edd
Date: 2010-02-21 19:41:46 +0100 (Sun, 21 Feb 2010)
New Revision: 758

Modified:
   papers/rjournal/EddelbuettelFrancois.tex
Log:
some corrections and polish on pages 1 and 2


Modified: papers/rjournal/EddelbuettelFrancois.tex
===================================================================
--- papers/rjournal/EddelbuettelFrancois.tex	2010-02-21 18:36:26 UTC (rev 757)
+++ papers/rjournal/EddelbuettelFrancois.tex	2010-02-21 18:41:46 UTC (rev 758)
@@ -17,14 +17,14 @@
 
 \section{Introduction} 
 
-R is an extensible system. The 'Writing R Extensions' manual \citep{R:exts}
-describes in detail the ways to augment R with compiled code,
-focussing mostly on C code. The R API described in Writing R Extensions is
+R is an extensible system. The `Writing R Extensions' manual \citep{R:exts}
+describes in detail how to augment R with compiled code,
+focussing mostly on the C language. 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.
 %
 In this article, we discuss the functionality of the \pkg{Rcpp}
-package, which we believe simplifies dramatically the usage of C++ code
+package, which simplifies the usage of C++ code
 in R. Combining R and C++ is not a new idea, so we start with
 a short review of other approaches and give some historical
 background on the development of \pkg{Rcpp}.
@@ -32,10 +32,10 @@
 The current version of \pkg{Rcpp} combines two distinct
 APIs. The first---which we call `classic \pkg{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
+\code{Rcpp} C++ namespace, is a newer codebase which we started to develop
 more recently. This article 
 highlights some of the key design and implementation choices: 
-lightweight encapsulation of R object in C++ classes, automatic
+lightweight encapsulation of R objects in C++ classes, automatic
 garbage collection strategy, code inlining, data interchange between 
 R and C++ and error handling. 
 
@@ -82,7 +82,7 @@
 The packages \pkg{rcppbind} \citep{liang08:rcppbind}, \pkg{RAbstraction}
 \citep{armstrong09:RAbstraction} and \pkg{RObjects}
 \citep{armstrong09:RObjects} are all implemented using C++ templates.
-However, neither has matured to the point of a CRAN release and it
+However, neither has matured to the point of a CRAN release and it is
 unclear how much usage these packages are seeing beyond their own authors.
 %
 CXXR \citep{runnalls09:cxxr} comes to this topic from the other side: 
@@ -165,7 +165,7 @@
 type is used to create a vector of doubles from the template type.
 Fourth, the usefulness of these classes can be seen when we query the
 vectors directly for their size---using the \code{size()} member function---in
-order to reserved a new result type of appropriate length whereas use based
+order to reserve a new result type of appropriate length whereas use based
 on C arrays would have required additional parameters for the length of
 vectors $a$ and $b$, leaving open the possibility of mismatches between the
 actual length and the length reported by the programmer. 
@@ -191,8 +191,8 @@
 of the internal R API, as well as current C++ design approaches. 
 This redesign of \code{Rcpp} was also motivated by the needs of other 
 projects such as \code{RInside}  \citep{cran:rinside} for easy embedding 
-of R in a C++ application and \code{RProtoBuf} \citep{cran:rprotobuf} 
-that interfaces with the protocol buffer library. 
+of R in a C++ applications and \code{RProtoBuf} \citep{cran:rprotobuf} 
+that interfaces with the protocol buffers library. 
 
 \subsection{Rcpp Class hierarchy}
 



More information about the Rcpp-commits mailing list