A nice goal for the XVector package would be full implementation of the R
vector API on top of the already existing memory-sharing (rather than
memory-duplicating) data structures. The actual storage mode of the data
should be obviously be abstracted, e.g., on-disk should be treated the same
as the externalptr representation. Much of the implementation will need to
be in C, unless we want to pay the price of extracting things into ordinary
R vectors. Should the abstraction be therefore dropped down to the C level,
so that the implementations can more easily share from each other? Anything
to gain here from the externalVector package?

	[[alternative HTML version deleted]]

