[Rcpp-devel] [Rcpp-commits] r349 - papers/rjournal

noreply at r-forge.r-project.org noreply at r-forge.r-project.org
Tue Jan 12 02:44:35 CET 2010

Author: edd
Date: 2010-01-12 02:44:35 +0100 (Tue, 12 Jan 2010)
New Revision: 349

a first commit with some minor fixes to spelling and sentence structure

Modified: papers/rjournal/FrancoisEddelbuettel.tex
--- papers/rjournal/FrancoisEddelbuettel.tex	2010-01-11 21:29:24 UTC (rev 348)
+++ papers/rjournal/FrancoisEddelbuettel.tex	2010-01-12 01:44:35 UTC (rev 349)
@@ -5,8 +5,8 @@
 The \pkg{Rcpp} package provides a consistent and comprehensive set 
-of C++ classes designed to ease coupling of C++ highly efficient code
-with R. The \code{RObject} class assumes the responsability of 
+of C++ classes designed to ease coupling of C++ code
+with R. The \code{RObject} class is responsible for 
 protecting and releasing its encapsulated R object (\code{SEXP})
 from garbage collection. The \code{wrap} set of functions allows
 wrapping many C++ built-in types and data structures from the standard
@@ -26,6 +26,7 @@
 various ways to couple R with code written in C. 
 Writing such code requires both expertise and discipline from the 
 programmer. Discipline, with a large amount of bookkeeping 
+%% FIXME:  The two sentences need a rewrite
 duties around the \code{PROTECT}/\code{UNPROTECT} dance one 
 has to master the steps. Expertise, to learn and use efficiently 
 the set of macros offered by R headers. 
@@ -47,10 +48,11 @@
 \code{RObject} instance is alive, its underlying \code{SEXP} remains 
 protected from garbage collection. When the \code{RObject} goes out 
 of scope (function return, exceptions), it removes the protection so that 
-if the \code{SEXP} is not otherwise protected it becomes subject to 
+if the \code{SEXP} is not otherwise protected when it becomes subject to 
 garbage collection. 
-Garbage collection is only mentionned here to illustrate the basic design
+% FIXME: Shorten and make a footnote?
+Garbage collection is only mentioned here to illustrate the basic design
 of the \code{RObject} class, the user of \pkg{Rcpp} need not to concern 
 himself/herself with such matters and can instead focus on the problem
 that he/she is solving.
@@ -120,8 +122,8 @@
 Some types do not have their own C++ class. \code{NILSXP} and 
 \code{S4SXP} have their functionality covered by the \code{RObject}
-class, \code{ANYSXP} is just a placeholder to facilitate S4 dispatch 
-and no object in R has this type and \code{BCODESXP} is not currently 
+class; \code{ANYSXP} is just a placeholder to facilitate S4 dispatch 
+and no object in R has this type; and \code{BCODESXP} is not currently 
 Each class contains functionality that is relevant to the R object
@@ -160,7 +162,7 @@
 not protecting an object means its memory might be reclaimed before we are
 finished with it.
 \item The \code{REAL} macro returns a pointer to the beginning of the 
-actual array. 
+actual array; its indexing is does not resemble either R or C++.
 Using the \code{Rcpp::NumericVector}, the code can be rewritten: 
@@ -310,10 +312,10 @@
-Rserve C++ client
+Rserve C++ client;
 \section{Rcpp vintage api}
@@ -334,8 +336,8 @@
 \email{francoisromain at free.fr}
 \address{Dirk Eddelbuettel\\
-  Affiliation\\
-  Address\\
-  Country}\\
+  Debian Project\\
+  Chicago, IL\\
+  USA}\\
 \email{edd at debian.org}

Rcpp-commits mailing list
Rcpp-commits at lists.r-forge.r-project.org

More information about the Rcpp-devel mailing list