ACM Home Page
Please provide us with feedback. Feedback
Filtered dispatch
Full text PdfPdf (670 KB)
Source Dynamic Languages Symposium archive
Proceedings of the 2008 symposium on Dynamic languages table of contents
Paphos, Cyprus
Article No. 4  
Year of Publication: 2008
ISBN:978-1-60558-270-2
Authors
Pascal Costanza  Vrije Universiteit Brussel, Brussels, Belgium
Charlotte Herzeel  Vrije Universiteit Brussel, Brussels, Belgium
Jorge Vallejos  Vrije Universiteit Brussel, Brussels, Belgium
Theo D'Hondt  Vrije Universiteit Brussel, Brussels, Belgium
Sponsor
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 3,   Downloads (12 Months): 42,   Citation Count: 1
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1408681.1408685
What is a DOI?

ABSTRACT

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.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
Eric Allen, J. J. Hallett, Victor Luchango, Sukyong Ryu, Guy L. Steele Jr. Modular Multiple Dispatch with Multiple Inheritance. ACM Symposium on Applied Computing (SAC'07. Seoul, Korea, March 2007. Proceedings, ACM Press.
 
2
ANSI/INCITS X3.226-1994. American National Standard for Information Systems - Programming Language - Common Lisp, 1994.
 
3
Jonathan Bachrach. Efficient Dispatch for Dylan. Presentation at Massachusetts Institute of Technology AI Lab, October 2000.
 
4
Daniel Bardou and Christophe Dony. Split objects: a disciplined use of delegation within objects. OOPSLA 1996 Conference on Object-Oriented Programming, Systems, Languages, and Applications, San Jose, California, USA, October 1996. Proceedings, ACM Press.
 
5
Daniel Bobrow, Linda DeMichiel, Richard Gabriel, Sonya Keene, Gregor Kiczales, David Moon. Common Lisp Object System Specification. Lisp and Symbolic Computation 1, 3--4 (January 1989), 245--394.
 
6
Craig Chambers. Predicate Classes. 7th European Conference on Object-Oriented Programming (ECOOP'93), Kaiserslautern, Germany, July 1993. Proceedings, Springer LNCS.
 
7
Craig Chambers and Weimin Chen. Efficient Multiple and Predicate Dispatching. OOPSLA 1999 Conference on Object-Oriented Programming, Systems, Languages, and Applications, Denver, Colorado, USA, November 1999. Proceedings, ACM Press.
 
8
Curtis Clifton, Gary T. Leavens, Craig Chambers, Todd Millstein. MultiJava: Modular open classes and symmetric multiple dispatch for Java. OOPSLA 2000 Conference on Object-Oriented Programming, Systems, Languages, and Applications, Minneapolis, Minnesota, USA, October 2004. Proceedings, ACM Press.
 
9
Pascal Costanza. Dynamic replacement of active objects in the Gilgul programming language. First International IFIP/ACM Working Conference on Component Deployment (CD 2002), Berlin, Germany, June 2002. Proceedings, Springer LNCS.
 
10
Pascal Costanza. Dynamically Scoped Functions as the Essence of AOP. ECOOP 2003 Workshop on Object-oriented Language Engineering for the Post-Java Era, Darmstadt, Germany, July 22, 2003. ACM Sigplan Notices 38, 8 (August 2003).
 
11
Pascal Costanza. How to Make Lisp More Special. International Lisp Conference 2005, Stanford. Proceedings.
 
12
Pascal Costanza and Robert Hirschfeld. Language Constructs for Context-oriented Programming. ACM Dynamic Languages Symposium 2005. ACM Press.
 
13
Sophia Drossopoulou, Ferruccio Damiani, Mariangiola Dezani-Ciancaglini, Paola Giannini. Fickle: Dynamic Object Re-classification. 15th European Conference on Object-Oriented Programming (ECOOP 2001), Budapest, Hungary, June 2001. Proceedings, LNCS.
 
14
Michael Ernst, Craig Kaplan, Chraig Chambers. Predicate Dispatching: A Unified Theory of Dispatch. 12th European Conference on Object-Oriented Programming (ECOOP'98), Brussels, Belgium, July 1998. Proceedings, Springer LNCS.
 
15
Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides. Design Patterns. Addison-Wesley, 1995.
 
16
Charlotte Herzeel, Pascal Costanza, Theo D'Hondt. Reflection for the Masses. Workshop on Self-sustaining Systems (S3) 2008, Potsdam, Germany, May 2008. Proceedings, Springer LNCS (to be published).
 
17
Gregor Kiczales, Jim Des Rivières, Daniel Bobrow. The Art of the Metaobject Protocol. MIT Press, 1991.
 
18
Henry Lieberman. Using Prototypical Objects to Implement Shared Behaviour in Object Oriented Systems. OOPSLA 1986 Conference on Object-Oriented Programming, Systems, Languages, and Applications, Portlang, Oregon, USA, November 1986. Proceedings, ACM Press.
 
19
Todd Millstein. Practical Predicate Dispatch. OOPSLA 2004 Conference on Object-Oriented Programming, Systems, Languages, and Applications, Vancouver, British Columbia, Canada, October 2004. Proceedings, ACM Press.
 
20
W. B. Mugridge, J. G. Hosking, J. Hamer. Multi-methods in a statically-typed programming language. 5th European Conference on Object-Oriented Programming (ECOOP'91), Geneva, Switzerland, July 1991. Proceedings, Springer LNCS.
 
21
Jim Newton and Christophe Rhodes. Custom Specializers in Object-Oriented Lisp. 1st European Lisp Symposium (ELS 2008, Bordeaux, France, May 22--23, 2008. Proceedings.
 
22
K. Chandra Sekharaiah and D. Janaki Ram. Object Schizophrenia Problem in Object Role System Design. Object-Oriented Information Systems, 8th International Conference (OOIS 2002, Montpellier, France, September 2002. Proceedings, Springer LNCS.
 
23
Andrew Shalit. The Dylan Reference Manual. Addison-Wesley, 1996.
 
24
David N. Smith. Dave's Smalltalk FAQ, 1995-96. Originally at http://www.dnsmith.com/SmallFAQ/SmallFaq.html, copy found at http://udos.users.dolphinmap.net/archive/DavesSmalltalkFAQ.pdf.
 
25
David Ungar and Randall B. Smith. Self: The Power of Simplicity. Lisp and Symbolic Computation, 4(3), Kluwer Academic Publishers, June 1991.
 
26
Antero Taivalsaari. Object-oriented programming with modes. Journal of Object-Oriented Programming, June 1993.
 
27
Aaron Mark Ucko. Predicate Dispatching in the Common Lisp Object System. Master thesis, Massachusetts Institute of Technology, AI Technical Report 2001-006, June 2001.
 
28
Ben Wegbreit. The Treatment of Data Types in EL1. Communications of the ACM, Vol. 17, No. 5, May 1974, ACM Press.


Collaborative Colleagues:
Pascal Costanza: colleagues
Charlotte Herzeel: colleagues
Jorge Vallejos: colleagues
Theo D'Hondt: colleagues