skip to main content
10.1145/1146841.1146844acmotherconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
Article

Higher order messaging

Published: 18 October 2005 Publication History

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

[1]
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.]]
[2]
Bergmans, L. Composing Concurrent Objects. PhD thesis, University of Twente, June 1994.]]
[3]
Brooks, F. P. No silver bullet. IEEE Computer 20, 4 (Apr. 1987), 10--19.]]
[4]
Cox, B. Object Oriented Programming, an Evolutionary Approach. Addison Wesley, 1986.]]
[5]
Cox, B. J. Taskmaster ecoop position paper. In ECOOP'91, Workshop on Exception Handling And OOPLS (Geneva, Switzerland, 1991).]]
[6]
D'Hondt, T., and Wolfgang. Of first-class methods and dynamic scope. In Actes de LMO'2002: Langages et Modèles à Objets (2002).]]
[7]
Ducasse, S. Evaluating message passing control techniques in Smalltalk. Journal of Object-Oriented Programming (JOOP) 12, 6 (June 1999), 39--44.]]
[8]
Gamma, E., Helm, R., Johnson, R., and Vlissides, J. Design Patterns: Elements of Reusable Object-Oriented Software. Addison Wesley, Reading, Mass., 1995.]]
[9]
Goldberg, A., and Robson, D. Smalltalk-80: The Language and Its Implementation. Addison-Wesley, 1983.]]
[10]
Goldberg, A., and Robson, D. Smalltalk-80: The Language. Addison Wesley, 1989.]]
[11]
Iverson, K. E. A Programming Language. 1962.]]
[12]
Kühne, T. Higher order objects in pure object-oriented languages. SIGPLAN OOPS Mess. 6, 1 (1995), 1--6.]]
[13]
Lieberherr, K. J., Silva-Lepe, I., and Xiao, C. Adaptive object-oriented programming using graph-based customization. Commun. ACM 37, 5 (1994), 94--101.]]
[14]
Liskov, B., Snyder, A., Atkinson, R., and Schaffert, C. Abstraction mechanisms in CLU. Commun. ACM 20, 8 (1977), 564--576.]]
[15]
Lutz, M. Programming Python (2nd edition). O'Reilly & Associates, Inc., 1996.]]
[16]
Matsumoto, Y. The Ruby Programming Language. Addison Wesley Professional, 2002. To appear.]]
[17]
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.]]
[18]
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.]]
[19]
Murer, S., Omohundro, S., Stoutamire, D., and Szyperski, C. Iteration abstraction in Sather. ACM Trans. Program. Lang. Syst. 18, 1 (1996), 1--15.]]
[20]
Myers, B. A., Pane, J. F., and Ko, A. Natural programming languages and environments. Commun. ACM 47, 9 (2004), 47--52.]]
[21]
Naugler, D. R. Functional programming in java. J. Comput. Small Coll. 18, 6 (2003), 112--118.]]
[22]
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.]]
[23]
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.]]
[24]
Robert H. Halstead, J. Multilisp: a language for concurrent symbolic computation. ACM Trans. Program. Lang. Syst. 7, 4 (1985), 501--538.]]
[25]
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.]]
[26]
Yokote, Y. The Design and Implementation of Concurrent Smalltalk, vol. 21 of World Scientific Series in Computer Science. World Scientific, 1990.]]

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
DLS '05: Proceedings of the 2005 symposium on Dynamic languages
October 2005
67 pages
ISBN:9781450378161
DOI:10.1145/1146841
  • Program Chair:
  • Roel Wuyts
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 18 October 2005

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. higher order messaging
  2. messages
  3. methods

Qualifiers

  • Article

Acceptance Rates

Overall Acceptance Rate 32 of 77 submissions, 42%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 255
    Total Downloads
  • Downloads (Last 12 months)2
  • Downloads (Last 6 weeks)0
Reflects downloads up to 09 Sep 2024

Other Metrics

Citations

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media