The XR Structure for Interfaces
This chapter describes a reference for the XR interface structure, the basis for interfaces from R such as those to Python and Julia. It provides details on the structure and its implementation. The chapter introduces the motivating goals for the design and for the integration of the interface packages into a project for extending R. It expects that the main use of interfaces will be in writing application packages, where one or more server languages provide useful software for the application. The chapter also describes the class of evaluator objects, the common superclass of the specific interfaces. It outlines the facilities provided by interface packages to support application programming and some steps needed in organizing the application package. The chapter discusses the specialization of the general class to specific server languages. It also discusses proxy objects. Proxy functions and proxy classes provide a transparent link to analogous server language computations.