skip to main content
article
Free Access

Enhancement through extension: the extension interpreter

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

Abstract

The ability to extend programs dynamically has clear advantages. However, providing efficient yet sufficiently flexible support for such capabilities system-wide presents significant challenges. We describe a design and implementation of an extension mechanism that depends heavily on interpretive techniques, including call arbitration, dynamic linking, and multilanguage extensions. We discuss these mechanisms in the context of our Extension Interpreter, which embodies our ideas and provides a framework for discussing the efficiency and generality of the implementation. Our current implementation runs under BSD UNIX 4.2 and 4.3 on VAXes and SUN workstations. Extensions can be written in both C and in Icon, demonstrating our ability to address problems both of compiled and interpreted languages.

References

  1. [1] B. N. Bershad, D. T. Ching, E. D. Lazowska., J. Sanislo, and M. Schwartz. A Remote Procedure Call Facility for Heterogeneous Computer Systems. Technical Report 86-09-10, Department of Computer Science, University of Washington (Sep. 1986). To appear, IEEE Trans. on Softw. Engineering. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. [2] A. D. Birrell and B. J. Nelson. Implementing Remote Procedure Calls. ACM Transactions on Computer Systems 2,1 (Feb. 1984). Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. [3] A. P. Black, E. D. Lazowska, H. M. Levy, D. Notkin, J. Sanislo, and J. Zahorjan. Interconnecting Heterogeneous Computer Systems. Tech. Rep. 87-01-02, Dept. of Comp. Sci., Univ. of Washington (Jan. 1987).Google ScholarGoogle Scholar
  4. [4] S. R. Bourne. An Introduction to the UNIX Shell. Bell Syst. Tech. J. 57, 6, pp. 2797-2822 (Jul.-Aug. 1978).Google ScholarGoogle Scholar
  5. [5] R. Cohn. Command Languages for Window Systems. Thesis proposal., Dept. of Comp. Sci., Carnegie-Mellon Univ. (Apr. 1986).Google ScholarGoogle Scholar
  6. [6] J. Gosling. UNIX Emacs. Unipress (1981).Google ScholarGoogle Scholar
  7. [7] J. Gosling. SunDew: A Distributed and Extensible Window System. Proc. 1986 Winter USENIX Tech. Conf., pp. 98-103 (1986).Google ScholarGoogle ScholarCross RefCross Ref
  8. [8] A. Goldberg and D. Robson. Smalltalk- 80: The Language and its Implementation. Addison-Wesley, Reading MA (1983). Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. [9] R. E. Griswold and M. T. Griswold. The Icon Programming Language Prentice-Hall Inc., Englewood NJ, (1983). Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. [10] R. E. Griswold. Personalized Interpreters for Version 6 of Icon. Tech. Rep. TR-86-12b, Dept. of Comp. Sci., Univ. of Arizona (May 1986).Google ScholarGoogle Scholar
  11. [11] R. Hayes and R. D. Schlichting. Facilitating Mixed-Language Programming in Distributed Systems. To appear, IEEE Trans. on Softw. Engineering. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. [12] IBM Virtual Machine/System Product. CMS Command and Macro Reference. SC19- 9209.Google ScholarGoogle Scholar
  13. [13] M. B. Jones, R. F. Rashid, and M. R. Thompson. Matchmaker: An Interface Specification Language for Distributed Processing, Proc. 12th ACM Symp. on Principles of Programming Languages (Jan. 1985). Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. [14] W. Joy. An Introduction to the C shell. In UNIX User's Manual: Supplementary Documents (Mar. 1984).Google ScholarGoogle Scholar
  15. [15] J. L. Keedy and J. V. Thomson. Command Interpretation and Invocation in an Information-Hiding System. In The Future of Command Languages: Foundations for Human-Computer Communication. IFIP WG 2.7 Working Conf. (Sep. 1985).Google ScholarGoogle Scholar
  16. [16] D. E. Knuth. The TEXTbook. Addison-Wesley (1984). Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. [17] W. Mitchell. An Icon Subsystem for UNIX Emacs. TR 84-8, Dept. of Comp. Sci., Univ. of Arizona (May 1984).Google ScholarGoogle Scholar
  18. [18] D. Notkin, W. G. Griswold, and M. Donner. Large Enhancement through Extension: Analysis and Experiments. Tech. Rep. 87-03- 03, Dept. of Comp. Sci., Univ. of Washington (Mar. 1987).Google ScholarGoogle Scholar
  19. [19] D. L. Parnas. Designing Software for Ease of Extension and Contraction. IEEE Trans. on Softw. Eng. SE-5, 2 (Mar. 1979).Google ScholarGoogle Scholar
  20. [20] R. Reich. The Macro Maker. MacUser 1, 2 (December 1985).Google ScholarGoogle Scholar
  21. [21] B. K. Reid and J. H. Walker. Scribe Introductory User's Manual. Third Edition (1980).Google ScholarGoogle Scholar
  22. [22] R. M. Stallman. EMACS - The Extensible, Customizable, Self-Documenting Display Editor. Proc. of the ACM Sigplan/Sigoa Symp. on Text Manip., pp. 147-156 (Jun. 1981). Appears as Sigplan Notices 16, 6 (Jun. 1981). Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Enhancement through extension: the extension interpreter

              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 7
                July 1987
                291 pages
                ISSN:0362-1340
                EISSN:1558-1160
                DOI:10.1145/960114
                Issue’s Table of Contents
                • cover image ACM Conferences
                  SIGPLAN '87: Papers of the Symposium on Interpreters and interpretive techniques
                  July 1987
                  291 pages
                  ISBN:0897912357
                  DOI:10.1145/29650

                Copyright © 1987 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 July 1987

                Check for updates

                Qualifiers

                • article

              PDF Format

              View or Download as a PDF file.

              PDF

              eReader

              View online with eReader.

              eReader