The Octopus Model and its Implementation

Alex Farkas, Alan Dearle · 2000

The paper describes a new reflective language mechanism and its implementation. The mechanism called Octopus is designed to support a wide variety of database programming and software engineering applications which previously required much heavier weight mechanisms, such as the use of a compiler at run-time, or unsafe language mechanisms. The implementation of this mechanism requires structured type representations to be available for manipulation at run-time and architecture support for boxed values. These implementation techniques are described and the cost of these mechanisms is examined. 1 Introduction In most programming languages, programs and data form directed graphs with nodes consisting of arbitrary values, such as program fragments (e.g. procedures), records and arrays. Scalars form the leaf nodes of the graphs; they may be referenced but do not themselves reference other values. Figure 1.1 shows a conceptual view of such a graph in which the nodes represent ...

Read the paper · More papers on PaperTik