Terminology¶
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.- conversion
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 functioncsr_from_anything(matrix)
would be a general or abstract conversion.- dispatcher
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.- specialisation
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.