---
title: "Data Transfer"
author: "John M Chambers"
date: "`r Sys.Date()`"
output: rmarkdown::html_vignette
vignette: >
  %\VignetteIndexEntry{Data Transfer}
  %\VignetteEngine{knitr::rmarkdown}
---

```{r setup, include = FALSE}
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>"
)
```
## Data Transfer

This document describes data transfer, in both directions, between R and Julia.
The changes from the version of `XRJulia` described in *Extending R* are in the transfer of vectors and named lists.
The main new features are:

* data transfer is now defined for all types of R vectors, including `logical`, `raw` and `complex`;

* for all atomic types, transfer now has two methods, one using the JSON-style form (for small data) and one using a version of binary transfer through a an intermediate file for larger data;

* named lists no longer use the JSON form, which Julia no longer allows;

* the function `juliaOptions()` has been added to allow specification of  parameters for the Julia evaluator in the style of the `options()` function.  The parameter `largeObject` can be used to set the corresponding field in an evaluator (by default the current evaluator).