Abstract
We introduce metaprogramming facilities into the Oberon V4 system. Metaprogramming means that a module can access the structure of other modules (i.e., procedures, types, run-time data) at run time. We discuss how type safety can be enforced in an environment with strong typing. Finally we show how metaprogramming can be used to implement an easy-to-use database interface and conclude with a comparison with other metaprogramming systems for statically-typed programming languages.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
G. Attardi et al.: Metalevel Programming in CLOS. Proceedings of the ECOOP'89 conference. Cambridge University Press, 1989.
S. Brandt, R.W. Schmidt: The Design of a Meta-Level Architecture for the BETA Language.
R. Crelier: OP2 — A portable Oberon compiler. Computer Science Report 125, ETH Zurich, 1990.
A. Goldberg, D. Robson: Smalltalk-80, the language and its implementation. Addison-Wesley, 1983.
M. Hof: Connecting Oberon. Johannes Kepler University Linz, System Software, Technical Report 7, April 1996.
G. Kiczales, J. Rivieres, D. Bobrow: The Art of the Metaobject Protocol. MIT Press, 1991.
M. Knasmüller: Adding Persistence to the Oberon System. Johannes Kepler University Linz, System Software, Technical Report 6, January 1996.
J. McCarthy: Recursive functions of symbolic expressions and their computation by a machine. Communications of the ACM 3 (4), 1960, 184–195.
O. Lehrmann-Madsen, B. Moller-Pedersen, K. Nygaard: Object-Oriented Programming in the BETA Programming Language. Addison-Wesley, 1993.
H. Mössenböck, K. Koskimies: Active Text for Structuring and Understanding Source Code. To appear in Software — Practice and Experience, 1996.
Microsoft Open Database Connectivity Software Development Kit Version 2.0, Microsoft Press, 1994.
D. Pountain. The Oberon/F System, Byte, January 1995.
M. Reiser: The Oberon System. User Guide and Programmer's Manual. Addison-Wesley, 1991.
B. C. Smith: Reflection and Semantics in a Procedural Language. PhD thesis, M.I.T., 1982.
C. Steindl: Entwurf und Implementierung einer Stücklistenverwaltung mittels einer Client/Server-Datenbank. Diploma thesis, University Linz, 1996.
C. Steindl: Accessing ODBC Databases from Oberon Programs. Johannes Kepler University Linz, System Software, Technical Report 9, Dezember 1996.
C. Steindl, H. Mössenböck: Metaprogramming Facilities in Oberon for Windows and Power Macintosh. Johannes Kepler University Linz, System Software, Technical Report 8, July 1996.
D. Stemple, R. Morrison, G.N.C. Kirby, R.C.H. Connor: Integrating Reflection, Strong Typing and Static Checking Proc. 16th Australian Computer Science Conference, Brisbane, Australia (1993), pp. 83–92.
M.A. Ellis, B. Stroustrup: The Annotated C++ Reference Manual. AT&T Bell Laboratories, Murray Hill, New Jersey, 1994.
J. Templ: Metaprogramming in Oberon. Dissertation, ETH Zurich, 1994.
D. Ungar, R. B. Smith: SELF: The Power of Simplicity. Proceedings of the OOPSLA'87 conference, Orlando, SIGPLAN Notices 22 (12), 1987.
N. Wirth, J. Gutknecht: The Oberon System. Software-Practice and Experience, 19(9), 1989, 857–893.
N. Wirth, J. Gutknecht: Project Oberon — The design of an operating system and compiler. Addison-Wesley, 1992.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1997 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Steindl, C. (1997). Reflection in Oberon. In: Mössenböck, H. (eds) Modular Programming Languages. JMLC 1997. Lecture Notes in Computer Science, vol 1204. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-62599-2_46
Download citation
DOI: https://doi.org/10.1007/3-540-62599-2_46
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-62599-5
Online ISBN: 978-3-540-68328-5
eBook Packages: Springer Book Archive