This is a short terminology glossary for the data layer and operations on it. See the rest of the guide for more in depth information.
- abstract type
An instance of a data-layer type, but we have no more information than that. If we knew exactly which type it was, we would have a concrete type.
- concrete type
One particular type, for example
CSR. The “opposite” of this is an abstract type.
A function which takes in one type and outputs another. For example, a function
csr_from_dense(dense_matrix)would be a specialised conversion, and a function
csr_from_anything(matrix)would be a general or abstract conversion.
A instance of
Dispatcher. This is a callable function that takes in abstract data-layer types and calls the closest concrete specialisation that it knows about after converting its inputs into the correct types.
A defined function which takes in a particular, concrete set of data-layer types and returns another concrete data-layer type. The user will typically never call these directly, they are only used directly within Cython code or indirectly from a dispatcher.