skip to main content
article
Free Access

Reflective facilities in Smalltalk-80

Authors Info & Claims
Published:01 September 1989Publication History
Skip Abstract Section

Abstract

Computational reflection makes it easy to solve problems that are otherwise difficult to address in Smalltalk-80, such as the construction of monitors, distributed objects, and futures, and can allow experimentation with new inheritance, delegation, and protection schemes. Full reflection is expensive to implement. However, the ability to override method lookup can bring much of the power of reflection to languages like Smalltalk-80 at no cost in efficiency.

References

  1. Agha 1986 Gul Agha ACTORS: A Model of Concurrent Computation in Distributed Systems MIT Press, 1986 Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Bennett 1987 John K. Bennett The Design and Implementation of Distributed Smalltalk OOPSLA '87 Proceedings Orlando, FL, October 4-8 1977 pages 118-330 Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Bobrow 1988a D. G. Bobrow, L. G. DeMichiel, R. P. Gabriel, S. E. Keene, G. Kiczales, and D. A. Moon Common Lisp Object System Specification X3J 13 Document 88-002R SIGPLAN Notices, Volume 23, Special Issue, September 1988 Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Bobrow 1988b Daniel (3. Bobrow and Gregor Kiczales The Common Lisp Object System Metaobject Kernel--A Status Report Proceedings of the 1988 Conference on Lisp and Functional Programming Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Deutsch 1984 L. Peter Deutsch and Allan M. Schiffman Efficient Implementation of the Smalltalk-80 System Proceedings of the Tenth Annual ACM Symposiu on Principles of Programming Languages, 1983, pages 297-302 Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Foote 1988 Brian Foote Designing to Facilitate Change with Object-Oriented Frameworks Masters Thesis, 1988 University of illinois at Urbana-ChampaignGoogle ScholarGoogle Scholar
  7. Goldberg 1976 Adele Goldberg and Alan Kay, editors with the Learning Research Group Smalltalk-72 Instruction Manual Xerox Palo Alto Research CenterGoogle ScholarGoogle Scholar
  8. Goldberg 1983 Adele Goldberg and David Robson Smalltalk-80: The Language and its Implementation Addison-Wesley, Reading, MA, 1983 Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Goldberg 1984 Adele Goldberg Smalltalk-80: The interactive Programming Environment Addison-Wesley, Reading, MA, 1984 Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Halstead 1985 R. Halstead MultiLISP: A language for Concurrent Symbolic Computation ACM Transactions on Programming Languages and Systems October 1985, pages 501-538 Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Hewitt 1983 Carl Hewitt and Peter de Jong Analyzing the Role of Description and Actions in Open Systems AAAI '83, pages 162-167Google ScholarGoogle Scholar
  12. Ingalls 1978 Daniel H. H. Ingalls The Smalltaik-76 Programming System Design and Implementation 5th ACM Symposium on POPL, pp. 9-15 Tucson, AZ, USA, January 1978 Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Johnson 1988a Ralph E. Johnson and Brian Foote Designing Reusable Classes Journal of Object-Oriented Programming Volume 1, Number 2, June/July 1988 pages 22-35Google ScholarGoogle Scholar
  14. Johnson 1988b Ralph E. Johnson, Justin O. Graver, and Laurance W. Zurawski TS: An Optimizing Compiler for Smalltalk OOPSLA '88 Proceedings San Diego, CA, September 25-30, 1988 pages 18-26 Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Keene 1989 Sonya E. Keene Object-Oriented Programming in Common Lisp A Programmer's introduction to CLOS Addison-Wesley, 1989 Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. LaLonde 1986 Wilf R. LaLonde, Dave A. Thomas and John R. PL An Exemplar Based Smalltalk OOPSLA '86 Proceedings Portland, OR, October 4-8 1977 pages 322-330 Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. LaLonde 1988 Will R. LaLonde and Mark Van Gutik Building a Backtracking Facility in Smalltalk Witho Kernel Support OOPSLA '88 Proceedings San Diego, CA, September 25-30, 1988 pages 105-122 Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Lieberman 1986 Henry Lieberman Using Protypical Objects to Implement Shared Behavior in Object-Oriented Systems OOPSLA '86 Proceedings Portland, OR, October 4-8 1977 pages 214-223 Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Maes 1987a Pattie Maes Computational Reflection Artificial Intelligence Laboratory Vrije Universiteit Brussel Technical Report 87-2Google ScholarGoogle Scholar
  20. Maes 1987b Pattie Maes Concepts and Experiments in Computational Reflection OOPSLA '87 Proceedings Orlando, FL, October 4-8 1977 pages 147-155 Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. McCullough 1987 Paul L. McCullough Transparent Forwarding: First Steps OOPSLA '87 Proceedings Orlando, FL, October 4-8 1977 pages 331-341 Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Messick 1985 Steven L. Messick and Kent L. Beck Active Variables in Smalltalk-80 Technical Report CR-85-0g Computer Research Lab, Tektronix, Inc., 1985Google ScholarGoogle Scholar
  23. Pascoe 1986 Geoffrey A. P ascoe Encapsulators: A New Software Paradigm in Smalltalk-80 OOPSLA '86 Proceedings Portland, OR, September 29-October 2 1986, pages 341-346 Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Smith 1983 Brian Cantwell Smith Reflection and Semantics in Lisp Proceedings of the 1984 ACM Principles of Programming Languages ConfereJ pages 23-35 Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Smith 1987 Randall B. Smith Experiences with the Alternate Reality Kit: An Example of the Tension Between Literalism and Magic. CHI+GI 1987 Conference Proceedings Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Stefik 1986a Mark Stefik and Daniel G. Bobrow Object-Oriented Programming: Themes and Variations At Magazine 6(4): 40-62, Winter, 1986 Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Stefik 1986b M. Stefik, D. Bobrow and K. Kahn integrating Access-Oriented Programming into a Multiprogramming Environment IEEE Software, 3, 1 (January 1986), 10-18Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Stein 1987 Lynn Andea Stein Delegation is Inhertance OOPSLA '87 Proceedings Orlando, FL, October 4-8 1977 pages 138-146 Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Stroustrup 1986 Bjarne Stroustrup The C++ Programming Language Addison-Wesley, Reading, MA, 1986 Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Tiemann 1988 Michael D. Tiemann Solving the RPC problem in GNU C++ 1988 USENIX C++ Conference Denver, CO, October 17-21 1988Google ScholarGoogle Scholar
  31. Ungar 1987 David Ungar and Randall B. Smith Serf: The Power of Simplicity OOPSLA '87 Proceedings Orlando, FL, October 4-8 1977 pages 227-242 Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Yokote 1986 Yasuhiko Yokote and Mario Tokoro The Design and Implementation of ConcurrentSmalitalk OOPSLA '86 Proceedings Portland, OR, September 2g-October 2 1986, pages 331-340 Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Watanabe 1988 Takuo Watanabe and Akinori Yonezawa Reflection in an Object-Oriented Concurrent Language OOPSLA '88 Proceedings San Diego, CA, September 25-30, 1988 pages 306-315 Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Reflective facilities in Smalltalk-80

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        • Published in

          cover image ACM SIGPLAN Notices
          ACM SIGPLAN Notices  Volume 24, Issue 10
          Special issue: Proceedings of the 1989 ACM OOPSLA conference on object-oriented programming
          Oct. 1989
          446 pages
          ISSN:0362-1340
          EISSN:1558-1160
          DOI:10.1145/74878
          Issue’s Table of Contents
          • cover image ACM Conferences
            OOPSLA '89: Conference proceedings on Object-oriented programming systems, languages and applications
            September 1989
            528 pages
            ISBN:0897913337
            DOI:10.1145/74877

          Copyright © 1989 ACM

          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: 1 September 1989

          Check for updates

          Qualifiers

          • article

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader