Split objects: a disciplined use of delegation within objects
Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Efficient multiple and predicated dispatching
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
MultiJava: modular open classes and symmetric multiple dispatch for Java
OOPSLA '00 Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Object Schizophrenia Problem in Object Role System Design
OOIS '02 Proceedings of the 8th International Conference on Object-Oriented. Information Systems
Predicate Dispatching: A Unified Theory of Dispatch
ECCOP '98 Proceedings of the 12th European Conference on Object-Oriented Programming
Fickle: Dynamic Object Re-classification
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
Dynamic Replacement of Active Objects in the Gilgul Programming Language
CD '02 Proceedings of the IFIP/ACM Working Conference on Component Deployment
Dynamically scoped functions as the essence of AOP
ACM SIGPLAN Notices
OOPSLA '04 Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Language constructs for context-oriented programming: an overview of ContextL
DLS '05 Proceedings of the 2005 symposium on Dynamic languages
Modular multiple dispatch with multiple inheritance
Proceedings of the 2007 ACM symposium on Applied computing
Self-Sustaining Systems
Context-oriented programming in ContextL: state of the art
Celebrating the 50th Anniversary of Lisp
Predicated generic functions: enabling context-dependent method dispatch
SC'10 Proceedings of the 9th international conference on Software composition
Predicate-C: an efficient and generic runtime system for predicate dispatch
Proceedings of the 6th Workshop on Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems
Hi-index | 0.00 |
Predicate dispatching is a generalized form of dynamic dispatch, which has strong limitations when arbitrary predicates of the underlying base language are used. Unlike classes, which enforce subset relationships between their sets of instances, arbitrary predicates generally do not designate subsets of each other, so methods whose applicability is based on predicates cannot be ordered according to their specificity in the general case. This paper introduces a decidable but expressive alternative mechanism called filtered dispatch that adds a simple preprocessing step before the actual method dispatch is performed and thus enables the use of arbitrary predicates for selecting and applying methods.