GOODS to Appear on the Stage

Prof. Kristen Nygaard (Univ. of Oslo, Norway)

Traditional programming languages hide their implementations from their users. However, there are situations where is advantageous to allow users to change implementation of languages. A language which has ability to modify itself is called reflexive. Reflexive languages use meta-objects to alter the implementation of the base-level objects through a set of rules called meta-objects protocol. There are three main reflection models: (i) meta-object; (ii) metaclass and (iii) metacommunication. Generally, reflexive languages implement some of these models or other variants. This work introduces a comparative study between the metalevel architectures of some reflexive languages. We describe its characteristics and limitations.