School of Computing

CXXR: Refactoring the R interpreter into C++

Andrew R. Runnalls

useR!2008 conference, Dortmund, Germany, August 2008.

Abstract

CXXR is a project to refactor (reengineer) the interpreter of the R language, currently written for the most part in C, into C++, whilst as far as possible retaining full functionality. It is hoped that by reorganising the code along object-oriented lines, by deploying the tighter code encapsulation that is possible in C++, and by improving the internal documentation, the project will make it easier for researchers to develop experimental versions of the R interpreter. The author's own medium-term objective is to create a variant of R with built-in facilities for provenance tracking, so that for any R data object it will be possible to determine exactly which original data files it was derived from, and exactly which sequence of operations was used to produce it. (In other words, an enhanced version of the old S AUDIT facility.)

The paper will assume some familiarity with C programming and with concepts of object-oriented programming (e.g. in R or in Java), but C++-specific concepts will be explained as required.

Download publication 686 kbytes (PDF)

Bibtex Record

@misc{3088,
author = {Andrew R. Runnalls},
title = {{CXXR}: Refactoring the {R} Interpreter into {C++}},
month = {August},
year = {2008},
pages = {182-196},
keywords = {determinacy analysis, Craig interpolants},
note = {},
doi = {},
url = {http://www.cs.kent.ac.uk/pubs/2008/3088},
    publication_type = {misc},
    submission_id = {23298_1299491341},
    howpublished = {useR!2008 conference, Dortmund, Germany},
}

School of Computing, University of Kent, Canterbury, Kent, CT2 7NF

Enquiries: +44 (0)1227 824180 or contact us.

Last Updated: 21/03/2014