Abstract | ||
---|---|---|
Code executed in a fully reflective system switches back and forth between application and interpreter code. These two states can be seen as contexts in which an expression is evaluated. Current language implementations obtain reflective capabilities by exposing objects to the interpreter. However, in doing so these systems break the encapsulation of the application objects. In this paper we propose safe reflection through polymorphism, i.e. by unifying the interface and ensuring the encapsulation of objects from both the interpreter and application context. We demonstrate a homogeneous system that defines the execution semantics in terms of itself, thus enforcing that encapsulation is not broken. |
Year | DOI | Venue |
---|---|---|
2009 | 10.1145/1595768.1595776 | Proceedings of the first international workshop on Context-aware software technology and applications |
Keywords | Field | DocType |
interpreter code,reflective capability,reflection,homogeneous system,execution semantics,safe reflection,reflective system,virtual machines,application context,current language implementation,contexts,application object,encapsulation,polymorphism,virtual machine | Ecology,Programming language,Virtual machine,Biology,Homogeneous,Implementation,Interpreter,Application Context,Encapsulation (computer programming),Semantics | Conference |
Citations | PageRank | References |
1 | 0.35 | 4 |
Authors | ||
2 |
Name | Order | Citations | PageRank |
---|---|---|---|
Toon Verwaest | 1 | 29 | 2.99 |
Lukas Renggli | 2 | 170 | 12.95 |