This pap er app ears in ECOOP the th Europ ean Conference on Ob ject
Oriented Programming Brussels Belgium July pp
Predicate Dispatching
A Uni ed Theory of Dispatch
Michael Ernst Craig Kaplan and Craig Chambers
Department of Computer Science and Engineering
University of Washington
Seattle WA USA
fmernst csk chambersg cs washington edu
http www cs washington edu research projects cecil
Abstract Predicate dispatching generalizes previous metho d dispatch
mechanisms by p ermitting arbitrary predicates to control metho d ap
plicabili ty and by using logical implication b etween predicates as the
overriding relationship The metho d selected to handle a message send
can dep end not just on the classes of the arguments as in ordinary
ob ject oriented dispatch but also on the classes of sub comp onents on
an argument s state and on relationships b etween ob jects This simple
mechanism subsumes and extends ob ject oriented single and multiple
dispatch ML style pattern matching predicate classes and classi ers
which can all b e regarded as syntactic sugar for predicate dispatching
This pap er introduces predicate dispatching gives motivating examples
and presents its static and dynamic semantics An implementation of
predicate dispatching is available