An Interface to Julia
This chapter describes an interface from R to computations in the Julia language, implemented in the XR Julia package. The interface provides direct analogues to Julia function calls and other computations through methods for evaluator objects from the "Julia interface" class or through equivalent R function calls. An application using the interface can define proxy functions in R that call corresponding functions in Julia, including the functional methods defined for these functions. Proxy classes in R can be defined corresponding to types in Julia, with access to fields consistent with reference classes in R. Julia emphasizes a form of functional computing, suggestive of the function principle, but the design is not related to functional programming, in the sense of protecting against side effects. R and Julia have a number of similarities in the representation of important classes of data, particularly those corresponding to vectors, matrices and arrays in R.