skip to main content
article
Free Access

Support for dynamic binding in strongly typed languages

Authors Info & Claims
Published:01 June 1987Publication History
Skip Abstract Section

Abstract

Dynamic binding is a facility usually found only in weakly typed languages. A strongly typed, block-structured language can, however, also support dynamic binding if its implementation is modified according to a set of widely applicable principles. The result of applying these principles to a strongly typed base language is a language that has much of the flexibility of weakly typed languages without requiring extensive run-time type checking.The primary principles in this general approach to adding dynamic binding to a language are providing separate compilation for the units of dynamic binding, establishing a link between a name in one unit and its implementation in another, and assuring that programs using dynamic binding remain consistent during their execution. There are different methods for implementing each of these principles; two languages to which dynamic binding has been added serve to illustrate some of the alternatives.

References

  1. [Ammann81] Ammann, U., "The Zurich Implementation," in Pascal -- the Language and its Implementation (D. W. Barron, ed.), John Wiley and Sons, 1981.Google ScholarGoogle Scholar
  2. [Atkinson82] Atkinson, M. P., et al., "PS-Algol: an Algol with a Persistent Heap," Sigplan Notices 17, 7 (July 1982), 24-31. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. [DoD83] Reference Manual for the Ada Programming Language, U.S. Department of Defense ANSI/MIL-STD-1815A (1983).Google ScholarGoogle Scholar
  4. [Gantenbein86] Gantenbein, R. E., and D. W. Jones, "Dynamic Binding of Separately Compiled Objects Under Program Control," Proceedings of the 1986 ACM Computer Science Conference (February 1986), 287-292. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. [Heering85] Heering, J., and P. Klint, "Towards Monolingual Programming Environments," ACM Transactions on Programming Languages and Systems 7, 2 (April 1985), 183-213. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. [Kernighan78] Kernighan, B. W., and D. M. Ritchie, The C Programming Language, Prentice-Hall (1978). Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. [JonesN78] Jones, N. D., and S. S. Muchnick, "TEMPO: A Unified Treatment of Binding Times and Parameter Passing Concepts in Programming Languages," Lecture Notes in Computer Science 66, Springer-Verlag, 1978. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. [LeBlanc79] LeBlanc, R. J., and C. N. Fischer, "On Implementing Separate Compilation in Block-Structured Languages," Sigplan Notices 14, 6 (August 1979), 139-143. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. [Liskov79] Liskov, B., et al., CLU Reference Manual, MIT Technical Report MIT/LCS/TR-225 (1979). Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. [Randell75] Randell, B., "System Structure for Software Fault Tolerance," IEEE Transactions on Software Engineering SE-1, 2 (June 1975), 220-232.Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. [Schreiner85] Schreiner, A. T., and H. G. Friedman, Jr., Introduction to Compiler Construction with Unix, Prentice-Hall (1985). Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. [vanWijngaarden76] van Wijngaarden, A., Revised Report on the Algorithmic Language Algol 68, Springer-Verlag (1976). Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. [Winston81] Winston, P. H., and B. K. P. Horn, Lisp, Addison-Wesley (1981).Google ScholarGoogle Scholar
  14. [Wirth85] Wirth, N., Programming in Modula-2; Third Edition, Springer-Verlag (1985). Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Support for dynamic binding in strongly typed languages

          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 22, Issue 6
            June 1987
            93 pages
            ISSN:0362-1340
            EISSN:1558-1160
            DOI:10.1145/24900
            Issue’s Table of Contents

            Copyright © 1987 Author

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 1 June 1987

            Check for updates

            Qualifiers

            • article

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader