Open
Description
This is perhaps a topic better suited to discourse and it has probably already been covered, but I just wanted to make sure that we'd considered some upstream developments in numpy. Reading the numpy paper, there's a section on interoperability, where they discuss the numpy "protocols" for dispatching operations to different array libraries:
To facilitate this interoperability, NumPy provides ‘protocols’ (or contracts of operation), that allow for specialized arrays to be passed to NumPy functions (Fig. 3). NumPy, in turn, dispatches operations to the originating library, as required.
See figure 3
I was wondering if this was a general mechanism that we could tap into for dispatching to different computational backends?