Monday, January 10, 2005

CLOS-style Method Combination for Generic Functions

...is now available in PyProtocols CVS. So far this is just the CLOS "standard" method combination, with before/after/around/primary/call-next-method. But the infrastructure is now there to build any sort of qualifier-based method combination ala CLOS' ones. If you're not familiar with method combination, this chapter from Peter Seibel's book has a nice introduction to the basics that doesn't really require you to know any Lisp. Before you read his book, however, first check out the doc page I wrote, as I'm trying to make the PyProtocols docs explain method combination without resorting to just saying, "they're just like in CLOS." :) So, if you have any trouble following what I wrote, check out the Lisp link and tell me what I can improve on!

There's still additional method-combination work to do, as I'd like to get equivalents to most of the useful CLOS built-in combination strategies, and document with examples how to build a custom combination strategy of your own. But the basic framework is now there to permit doing all of that.