Dynamic Reflection for a Statically Typed Language

Søren Brandt and René W. Schmidt
Department of Computer Science
University of Aarhus
DK-8000 Aarhus C, Denmark
email: {sbrandt,rws}@cs.au.dk

Abstract

We present a runtime metalevel interface for BETA. BETA is a compiled and statically typed object-oriented programming language. The metalevel interface preserves the type safe properties of the language and supports static type checking. This is achieved through a novel language construct, the attribute reference, on top of which the metalevel interface is built. The metalevel interface is based on a simple conceptual model that reifies a few basic language primitives. For the implementation, a metalevel architecture based on a virtual machine view of the runtime system is introduced. In this model, an open implementation of compiled language is achieved by providing the runtime virtual machine with a metalevel interface supporting runtime reflection.

Request a copy.


René W. Schmidt <rws@cs.au.dk>