ABSTRACT

This chapter discusses various aspects of interfaces and the steps that applications will likely need to take in order to use the server language software effectively. It describes techniques for the inclusion of server language software, for expressing computations, for managing objects and for converting data between the languages. The chapter describes that basic distinction is between interfaces to individual subroutines and interfaces to other language evaluators. For computations that map into function or method calls in a server language, the arguments and the result will continue to follow the OBJECT principle on the R side. Conversion between R objects and many C and C++ data types is handled automatically. Programming tools in C++ can extend the conversion capabilities. Structuring the server language programming similarly to an existing, well-designed R implementation will make the reprogramming easier and mistakes less likely. LLVM is a general framework for defining mappings from specified language forms to executable instructions.