Ahar got it http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/384122
Would something like that be any use? On 18 Oct 2005, at 13:21, Alex Stapleton wrote: > I seem to remember a rather ugly hack at some point in the past that > created a new "operator" like so > > A |dot| B > > where dot was an object which had the OR operator for left and right > arguments redefined seperately so that it only made sense when used > in that syntax. > > I guess you could hack something together along the same lines. I > just wish I could remember what it was called, it's on the > ActiveState Cookbook somewhere. > > On 18 Oct 2005, at 13:17, Adriaan Renting wrote: > > >> Using numarray/pylab there's also dot: >> >> >>>>> from pylab import * >>>>> A = array(range(10)) >>>>> B = array(range(10)) >>>>> A * B >>>>> >>>>> >> [ 0, 1, 4, 9,16,25,36,49,64,81,] >> >> >>>>> dot(A, B) >>>>> >>>>> >> 285 >> >> It might also make your code more readable. I would like "A dot B", >> but even using ipython >> I can only get as close as "dot A, B" >> >> >> >>>>> Dan Farina <[EMAIL PROTECTED]> 10/18/05 1:33 pm >>> >>>>> >>>>> >> David Pokorny wrote: >> >> >>> Hi, >>> >>> Just wondering if anyone has considered macros for Python. I have >>> one >>> good use case. In "R", the statistical programming language, you can >>> multiply matrices with A %*% B (A*B corresponds to pointwise >>> multiplication). In Python, I have to type >>> >>> import Numeric >>> matrixmultiply(A,B) >>> >>> which makes my code almost unreadable. >>> >>> Thanks, >>> David >>> >>> >> >> The problem here is that Python's parse trees are of non-trivial >> ugliness. >> >> A page on the compiler.ast module: >> http://docs.python.org/lib/node792.html >> >> it is, in fact, perfectly possible to write yourself a pre- >> processor for >> your particular application. You may have to fiddle with the token >> you >> want for notation depending on how the AST fleshes out (% is used >> by at >> least a couple of things, after all). My cursory familiarity with >> python grammar suggests to me that this particular choice of token >> could >> be a problem. >> >> I would say try it and see. Keep in mind though that since >> Python's AST >> is not a trivial matter like it is in Lisp and the like that doing >> metaprogramming of this sort probably falls into the category of >> black >> magic unless it turns out to be very trivial. >> >> Another option is to define your own tiny class that will override >> the >> __mult__ method so that you can simply do: >> >> A * B >> >> Which may not be what you want. >> >> df >> -- >> http://mail.python.org/mailman/listinfo/python-list >> >> -- >> http://mail.python.org/mailman/listinfo/python-list >> >> > > -- > http://mail.python.org/mailman/listinfo/python-list > -- http://mail.python.org/mailman/listinfo/python-list