skip to main content
article
Free access

Enhancement through extension: the extension interpreter

Published: 01 July 1987 Publication History

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.
[2]
[2] A. D. Birrell and B. J. Nelson. Implementing Remote Procedure Calls. ACM Transactions on Computer Systems 2,1 (Feb. 1984).
[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).
[4]
[4] S. R. Bourne. An Introduction to the UNIX Shell. Bell Syst. Tech. J. 57, 6, pp. 2797-2822 (Jul.-Aug. 1978).
[5]
[5] R. Cohn. Command Languages for Window Systems. Thesis proposal., Dept. of Comp. Sci., Carnegie-Mellon Univ. (Apr. 1986).
[6]
[6] J. Gosling. UNIX Emacs. Unipress (1981).
[7]
[7] J. Gosling. SunDew: A Distributed and Extensible Window System. Proc. 1986 Winter USENIX Tech. Conf., pp. 98-103 (1986).
[8]
[8] A. Goldberg and D. Robson. Smalltalk- 80: The Language and its Implementation. Addison-Wesley, Reading MA (1983).
[9]
[9] R. E. Griswold and M. T. Griswold. The Icon Programming Language Prentice-Hall Inc., Englewood NJ, (1983).
[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).
[11]
[11] R. Hayes and R. D. Schlichting. Facilitating Mixed-Language Programming in Distributed Systems. To appear, IEEE Trans. on Softw. Engineering.
[12]
[12] IBM Virtual Machine/System Product. CMS Command and Macro Reference. SC19- 9209.
[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).
[14]
[14] W. Joy. An Introduction to the C shell. In UNIX User's Manual: Supplementary Documents (Mar. 1984).
[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).
[16]
[16] D. E. Knuth. The TEXTbook. Addison-Wesley (1984).
[17]
[17] W. Mitchell. An Icon Subsystem for UNIX Emacs. TR 84-8, Dept. of Comp. Sci., Univ. of Arizona (May 1984).
[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).
[19]
[19] D. L. Parnas. Designing Software for Ease of Extension and Contraction. IEEE Trans. on Softw. Eng. SE-5, 2 (Mar. 1979).
[20]
[20] R. Reich. The Macro Maker. MacUser 1, 2 (December 1985).
[21]
[21] B. K. Reid and J. H. Walker. Scribe Introductory User's Manual. Third Edition (1980).
[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).

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

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
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: 01 July 1987
Published in SIGPLAN Volume 22, Issue 7

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)89
  • Downloads (Last 6 weeks)12
Reflects downloads up to 22 Dec 2024

Other Metrics

Citations

Cited By

View all

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media