# What are these new LibraryLink functions and datatypes for?

Looking at the LibraryLink examples, there are several new functions and objects, as well as example programs, that appeared in version 9. Are these documented? If yes, where?

If would be nice to have a summary of the new features available, and a summary of how and when to use them, so people can more easily decide whether there is something that's useful for their project.

• MInputStream and MOutputStream types, WolframStreamLibrary.h header
• DataStore type
• WolframIOLibrary_Functions (comparable to WolframLibraryData, contains function pointers)
• all the async-*.c examples which use these features

It should be possible to figure much of this out using the (uncommented) example programs, but I'm hoping that someone has already done this and can contribute and answer.

I believe that some of these (DataStore and the async-*.c examples) are related to the Asynchronous Tasks functionality, such as URLFetchAsynchronous.

-
I think these items are largely to do with the "data" (Hadoop, etc.) functionality being written by Taliesin Beynon and presumably to appear in version 10. (Other traces of this project are also visible already in version 9.) It wouldn't surprise me if they weren't documented until then, and as such, it may be that nobody can answer the question due to NDA. OTOH, maybe Joel Klein can comment at least on the stream functionality. –  Oleksandr R. Sep 4 '13 at 9:33
@OleksandrR. I was thinking they might also be related to the AsynchronousTasks functionality of v9, and the DataStore might provide a way to temporarily store the results before they're ready to be returned. –  Szabolcs Sep 4 '13 at 14:41