Have there been any papers written on implementing design patterns in delegation/object based languages? I'm interested in how delegation or object based inheritance can simplify design. For example these patterns from the Gamma, et al book seem to become non-issues in such a language : Prototype - built in to object based languages. Singleton - built in to object based languages. Chain of Responsibility - can be done easily by delegating to next object in chain. State - can be done easily with an assignable parent slot. Strategy - can be done easily with an assignable parent slot. Decorator - can be done easily with an assignable parent slot. Proxy - proxy can delegate to the other object. But I am also and perhaps more interested in design idioms that naturally arise out of differential programming, beyond the few that are mentioned in the papers on the Self site.
--- james mccartney