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.
- Chars, strings, bytes
- Option type
- Dtype variables
- Symbolic constructors
- Type kinds
- Composite types
- Pattern matching
- Abstract Syntax Tree