libndtypes implements a low-level version of Datashape.

Datashape is a data description language for modern array computing capable of handling complex memory layouts, tagged union data types, pattern matching, polymorphism and much more.

The goal of libndtypes is to provide a common foundation for data interchange as well as computation on data by defining typed memory in a concise, human-readable way.

libndtypes is currently based on the type library that is part of libdynd. The intention is to provide a C-API in subsequent releases. For now the documentation is focused on the grammar and higher level parts of the type language.