Slide 6
Slide 6 text
Types, Metadata, and Data
• Types are instances of simple classes
– Write a class, get a type
• Types expose dynamic features to arrays
– Either properties, like .real() or .imag(), or behavior, like .conj()
• Types can be kinds, patterns, or constraints
– Int, Scalar, Fixed, or Any; Fixed * T or (N * T, T) -> T; C[3 * 2 * float64]
• Array metadata can describe data other than strided
– Offset (tuple or struct), indirect (pointer), ragged (variable-sized dimensions)
• Array data is poolable or allocatable in custom memory spaces
– Variable-sized strings or dimensions; CUDA