Python and generic programming

Ian Bicking ianb at colorstudy.com
Sat Nov 20 03:25:16 EST 2004


Jive Dadson wrote:
> If you have, for example, several data-types for matrices, how do you
> write code that will automatically find the right routine for quickly
> multiplying a vector by a diagonal matrix represented as a vector, and
> automatically call the right code for multiplying by a sparse matrix
> represented by some sparse coding, etc?

I haven't been following this thread, but Phillip Eby's recent 
implementation of generic functions should be mentioned if it hasn't 
been already:

http://dirtsimple.org/2004/11/generic-functions-have-landed.html

It might look something like this:

@dispatch.on('m1', 'm2')
def matrix_mul(m1, m2):
     "Multiply two matrices"

@matrix_mul.when(VectorMatrix, SparseMatrix)
def matrix_mul_sparse(m1, m2):
     "Special implementation"


-- 
Ian Bicking  /  ianb at colorstudy.com  / http://blog.ianbicking.org



More information about the Python-list mailing list