ABSTRACT
We introduce Higher Order Messaging, a higher order programming mechanism for dynamic object-oriented languages. Higher Order Messages allow user-defined message dispatch mechanism to be expressed using an optimally compact syntax that is a natural extension of plain messaging and also have a simple conceptual model. They can be implemented without extending the base language and operate through language bridges.
References
- Backus, J. Can programming be liberated from the von neumann style?: a functional style and its algebra of programs. Commun. ACM 21, 8 (1978), 613--641.]] Google Scholar
Digital Library
- Bergmans, L. Composing Concurrent Objects. PhD thesis, University of Twente, June 1994.]]Google Scholar
- Brooks, F. P. No silver bullet. IEEE Computer 20, 4 (Apr. 1987), 10--19.]] Google Scholar
Digital Library
- Cox, B. Object Oriented Programming, an Evolutionary Approach. Addison Wesley, 1986.]] Google Scholar
Digital Library
- Cox, B. J. Taskmaster ecoop position paper. In ECOOP'91, Workshop on Exception Handling And OOPLS (Geneva, Switzerland, 1991).]]Google Scholar
- D'Hondt, T., and Wolfgang. Of first-class methods and dynamic scope. In Actes de LMO'2002: Langages et Modèles à Objets (2002).]]Google Scholar
- Ducasse, S. Evaluating message passing control techniques in Smalltalk. Journal of Object-Oriented Programming (JOOP) 12, 6 (June 1999), 39--44.]]Google Scholar
- Gamma, E., Helm, R., Johnson, R., and Vlissides, J. Design Patterns: Elements of Reusable Object-Oriented Software. Addison Wesley, Reading, Mass., 1995.]] Google Scholar
Digital Library
- Goldberg, A., and Robson, D. Smalltalk-80: The Language and Its Implementation. Addison-Wesley, 1983.]] Google Scholar
Digital Library
- Goldberg, A., and Robson, D. Smalltalk-80: The Language. Addison Wesley, 1989.]] Google Scholar
Digital Library
- Iverson, K. E. A Programming Language. 1962.]] Google Scholar
Digital Library
- Kühne, T. Higher order objects in pure object-oriented languages. SIGPLAN OOPS Mess. 6, 1 (1995), 1--6.]] Google Scholar
Digital Library
- Lieberherr, K. J., Silva-Lepe, I., and Xiao, C. Adaptive object-oriented programming using graph-based customization. Commun. ACM 37, 5 (1994), 94--101.]] Google Scholar
Digital Library
- Liskov, B., Snyder, A., Atkinson, R., and Schaffert, C. Abstraction mechanisms in CLU. Commun. ACM 20, 8 (1977), 564--576.]] Google Scholar
Digital Library
- Lutz, M. Programming Python (2nd edition). O'Reilly & Associates, Inc., 1996.]] Google Scholar
Digital Library
- Matsumoto, Y. The Ruby Programming Language. Addison Wesley Professional, 2002. To appear.]]Google Scholar
- McNamara, B., and Smaragdakis, Y. Functional programming in C++. In ICFP '00: Proceedings of the fifth ACM SIGPLAN international conference on Functional programming (New York, NY, USA, 2000), ACM Press, pp. 118--129.]] Google Scholar
Digital Library
- Mougin, P., and Ducasse, S. Oopal: integrating array programming in object-oriented programming. In OOPSLA '03: Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications (2003), ACM Press, pp. 65--77.]] Google Scholar
Digital Library
- Murer, S., Omohundro, S., Stoutamire, D., and Szyperski, C. Iteration abstraction in Sather. ACM Trans. Program. Lang. Syst. 18, 1 (1996), 1--15.]] Google Scholar
Digital Library
- Myers, B. A., Pane, J. F., and Ko, A. Natural programming languages and environments. Commun. ACM 47, 9 (2004), 47--52.]] Google Scholar
Digital Library
- Naugler, D. R. Functional programming in java. J. Comput. Small Coll. 18, 6 (2003), 112--118.]] Google Scholar
Digital Library
- Pane, J. F. A programming system for children that is designed for usability. PhD thesis, 2002. Co-Chair-Brad A. Myers and Co-Chair-David Garlan.]] Google Scholar
Digital Library
- Pratikakis, P., Spacco, J., and Hicks, M. Transparent proxies for java futures. In OOPSLA '04: Proceedings of the 19th annual ACM SIGPLAN Conference on Object-oriented programming, systems, languages, and applications (2004), ACM Press, pp. 206--223.]] Google Scholar
Digital Library
- Robert H. Halstead, J. Multilisp: a language for concurrent symbolic computation. ACM Trans. Program. Lang. Syst. 7, 4 (1985), 501--538.]] Google Scholar
Digital Library
- Watanabe, T., and Yonezawa, A. Reflection in an object-oriented concurrent language. In Proceedings OOPSLA '88, ACM SIGPLAN Notices (Nov. 1988), vol. 23, pp. 306--315.]] Google Scholar
Digital Library
- Yokote, Y. The Design and Implementation of Concurrent Smalltalk, vol. 21 of World Scientific Series in Computer Science. World Scientific, 1990.]] Google Scholar
Digital Library
Index Terms
Higher order messaging

Marcel Weiher

Comments