Date Added: Feb 2010
This paper presents predicated generic functions, a novel programming language abstraction that allows the expression of context dependent behaviour in a declarative and modular manner, providing fine-grained control of method applicability and method specificity. Methods are guarded by predicates with user-defined orderings, thereby increasing the expressiveness of existing method dispatching approaches. The authors have prototyped their proposal in Lambic, an extension of the standard Common Lisp Object System. They illustrate and motivate their approach by discussing the implementation of a collaborative graphical editor.