Abstract
The concept of nested procedure values, i. e., the possibility of using nested procedures as values of procedure types, is a useful and powerful concept. Nevertheless, it is not allowed in languages such as Modula-2 and Oberon(-2), because it creates a serious security hole when used inappropriately. To prevent such misuse while at the same time retaining the benefits of the concept, alternative language rules as well as a small language extension for Oberon-2 are suggested, which allow nested procedures to be safely used as values of procedure types and especially to pass them as parameters to other procedures.
An extended version of this paper is available as a Technical Report [3].
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Arnold, K., Gosling, J., Holmes, D.: The Java Programming Language, 3rd edn. Addison-Wesley, Boston (2000)
Breuel, T.M.: Lexical Closures for C++. In: Proc. USENIX C++ Technical Conference, Denver, CO (October 1988)
Heinlein, C.: Safely Extending Procedure Types to Allow Nested Procedures as Values. Nr. 2003-03, Ulmer Informatik-Berichte, Fakultät für Informatik, Universität Ulm (June 2003), http://www.informatik.uni-ulm.de/pw/berichte
Kernighan, B.W., Ritchie, D.M.: The C Programming Language. Prentice-Hall, Englewood Cliffs (1988)
Meyer, B.: Eiffel: The Language. Prentice-Hall, New York (1994)
Mössenböck, H., Wirth, N.: The Programming Language Oberon-2. Structured Programming 12(4), 179–195 (1991)
Stroustrup, B.: The C++ Programming Language, Special edn. Addison-Wesley, Reading (2000)
Thompson, S.: Haskell. The Craft of Functional Programming. Addison-Wesley, Harlow (1996)
Wirth, N.: Programming in Modula-2, 4th edn. Springer, Berlin (1988)
Wirth, N.: The Programming Language Oberon. Software – Practice and Experience 18(7), 671–690 (1988)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2003 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Heinlein, C. (2003). Safely Extending Procedure Types to Allow Nested Procedures as Values. In: Böszörményi, L., Schojer, P. (eds) Modular Programming Languages. JMLC 2003. Lecture Notes in Computer Science, vol 2789. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-45213-3_19
Download citation
DOI: https://doi.org/10.1007/978-3-540-45213-3_19
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-40796-6
Online ISBN: 978-3-540-45213-3
eBook Packages: Springer Book Archive