by Florian Friesdorf for EuroPython 2012
Mixins enable code re-usage across class hierarchies, adapters allow for additional run-time behaviour — metachao aspects merge these two concept and go beyond: they can be applied to classes, instances and aspects themselves, allowing for functional meta-programming in python.
Their beauty will be demonstrated by example of dictionary trees, where all behaviour is implemented in form of aspects and applied to different dictionary implementations.
The goal of the talk is to get an understanding of how aspect oriented programming can look and why dictionary trees in combination with aspects are a cool way of designing applications.