Why I've personally stopped using it: I've always had the impression that decorators were intended to provide a convenient and obvious way of augmenting functions. Having one that automatically executes the function at definition just runs counter to the behaviour I expect from a decorator. Especially when direct assignment... foo = foo () ...is a far more direct and clear way of expressing exactly what is happening.
if you have to define it yourself, you could call it store_result or something else instead of apply. @store_result def tags(): return result Leonhard -- http://mail.python.org/mailman/listinfo/python-list