Skip to main content

Dynamic extensibility in a statically-compiled object-oriented language

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 742))

Abstract

Statically-typed object-oriented compiled languages, like Simula, Beta, Eiffel, are desirable because of the safety and efficiency of the resulting code. Dynamically-typed, interpreted languages, like Smalltalk, are useful as they provide the possibility of dynamically extending a program. In this paper, we reconcile the safety and efficiency goals of compiled languages with the benefits of interpreted languages by presenting an embeddable interpreter for a compiled language, namely Beta. The interpreter is designed to be embedded into any compiled Beta application, thus enabling it to accept dynamic extensions. This paper examines the Application Programmer's Interface to the interpreter and illustrate some aspects of our implementation.

Research supported by the Danish Research Programme for Informatics, grant number 5.26.18.19

This is a preview of subscription content, log in via an institution.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. O. Agesen and S. Frølund. Dynamic Link and Load as a Basis for Implementing Extensibility. Technical report, Aarhus University, December 1989.

    Google Scholar 

  2. O. Agesen, S. Frølund, and M. H. Olsen. Persistent and Shared Objects in BETA. Technical Report DAIMI IR-89, Computer Science Department, Aarhus University, Denmark, April 1989. Master's thesis.

    Google Scholar 

  3. G. Birwistle, O. Dahl, B. Myrhaug, and K. Nygaard. Simula Begin. Auerbach Publishers (New York), 1973.

    Google Scholar 

  4. D. M. Betz. XScheme: An Object-Oriented Scheme. Technical report, P.O. Box 144, Peterborough, NH, 1989.

    Google Scholar 

  5. S. Chiba and T. Masuda. Designing an Extensible Distributed Language with a Meta-Level Architecture. In Proceedings of the European Conference on Object-Oriented Programming (ECOOP), Kaiserslautern, Germany, July 1993.

    Google Scholar 

  6. M. A. Ellis and B. Stroustrup. C++ Reference Manual. Addison-Wesley Publishing Company, 1990.

    Google Scholar 

  7. K. Grønbæk, A. Hviid, and R. H. Trigg. ApplBuilder — an Object-Oriented Application Generator Supporting Rapid Prototyping. In Proceedings of the Fourth International Conference on Software Engineering and its Applications, Toulouse, December 1991.

    Google Scholar 

  8. A. Goldberg and D. Robson. Smalltalk-80. The Language and its Implementation. Addison-Wesley Publishing Company, 1983.

    Google Scholar 

  9. G. Hedin. Incremental Semantic Analysis. PhD thesis, Department of Computer Science, Lund University, March 1992.

    Google Scholar 

  10. G. Hedin. Personal Communication, March 1993.

    Google Scholar 

  11. G. Hedin and B. Magnusson. Incremental Execution in a Programming Environment based on Compilation. In Proceedings of the 19th Hawaii International Conference on System Sciences, January 1986.

    Google Scholar 

  12. G. Hedin and B. Magnusson. Supporting Exploratory Programming in Simula. In Proceedings of the Fifteenth SIMULA Conference, Jersey, pages 73–88, September 1987.

    Google Scholar 

  13. G. Kiczales, J. des Rivières, and D. G. Bobrow. The Art of the Metaobject Protocol MIT Press, Cambridge, MA, 1991.

    Google Scholar 

  14. S. E. Keene. Object-Oriented Programming in Common Lisp: A Programmer's Guide to CLOS. Addison-Wesley Publishing Company, 1989.

    Google Scholar 

  15. M. Løfgren and B. Magnusson. An Execution Environment for Simula on a Small Computer. Technical Report LUTFD2/(TFCS-3006)/1-96/1984, Department of Computer Science, Lund University, Sweden, March 1984.

    Google Scholar 

  16. Lund Software House AB, Box 7056, S-220 07 Lund, Sweden. SIMULA User's Guide, 1992.

    Google Scholar 

  17. O. L. Madsen. The Implementation of BETA. In Object-Oriented Software Development Environments: The Mjølner Approach. Prentice Hall International, 1993. To be published.

    Google Scholar 

  18. B. Magnusson. The Mjølner Orm system. In Object-Oriented Software Development Environments. Prentice Hall International, 1993. To be published.

    Google Scholar 

  19. B. Meyer. Object-oriented Software Construction. Prentice Hall International, 1988. Series in Computer Science. ISBN 0-13-629031-0.

    Google Scholar 

  20. Mjølner Informatics. The Mjølner BETA System — The BETA Source-level Debugger-User's Guide, 1992. MIA 92-12.

    Google Scholar 

  21. Mjølner Informatics. The Mjølner BETA System, Reference Manual, 1992. MIA 90-04(1.0).

    Google Scholar 

  22. Mjølner Informatics. Sif, A Hyper Structure Editor, User's Guide, 1993. MIA 91-11(1.0).

    Google Scholar 

  23. O. L. Madsen, B. Magnusson, and B. Møller-Pedersen. Strong Typing of Object-Oriented Languages Revisited. In Proceedings of OOPSLA/ECOOP '90, pages 140–149, October 1990. SIGPLAN Notices, Volume 25, Number 10.

    Google Scholar 

  24. O. L. Madsen, B. Møller-Pedersen, and K. Nygaard. Object Oriented Programming in the BETA Programming Language. Addison-Wesley Publishing Company, 1993.

    Google Scholar 

  25. C. Nørgaard and E. Sandvad. Reusability and Tailorability in the Mjølner BETA System. Technical Report DAIMI PB-300, Aarhus University, January 1990.

    Google Scholar 

  26. R. M. Stallman. Emacs: The extensible, customizable, self-documenting display editor. In Interactive Programming Environments. McGraw-Hill, 1984.

    Google Scholar 

  27. R. Stallman. GNU Emacs Manual. Free Software Foundation, 1985.

    Google Scholar 

  28. C. L. Zarmer and C. Chew. Frameworks for Interactive, Extensible, Information-Intensive Applications. In Proceedings of UIST'92, pages 33–41, November 1992.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Shojiro Nishio Akinori Yonezawa

Rights and permissions

Reprints and permissions

Copyright information

© 1993 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Malhotra, J. (1993). Dynamic extensibility in a statically-compiled object-oriented language. In: Nishio, S., Yonezawa, A. (eds) Object Technologies for Advanced Software. ISOTAS 1993. Lecture Notes in Computer Science, vol 742. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-57342-9_80

Download citation

  • DOI: https://doi.org/10.1007/3-540-57342-9_80

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-57342-5

  • Online ISBN: 978-3-540-48075-4

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics