Reflection in Oberon

Christoph Steindl
Johannes Kepler University Linz
Institute for Practical Computer Science
Altenbergerstraße 69, A-4040 Linz


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.

Paper at the JMLC'97 Hagenberg, Austria, March 1997.
Published in Lecture Notes in Computer Science 1204 (pp. 282-296), ISBN 3-540-62599-2, Springer-Verlag, 1997.
The copyright has been transferred to Springer-Verlag.
You can download the full paper in postscript or click here to browse the slides of the presentation online..