The Journal of Object Technology · 2007 · 34 citations · 29 references
Reflection has proved to be a powerful feature to support the design of development environments and to extend languages. However, the granularity of structural reflection stops at the method level. This is a problem since without sub-method reflection developers have to duplicate efforts, for example to introduce transparently pluggable type-checkers or fine-grained profilers. In this paper we present Persephone, an efficient implementation of a sub-method meta-object protocol (MOP) based on AST annotations and dual methods (a compiled method and its meta-object) that reconcile AST expressiveness with bytecode execution. We validate the MOP by presenting TreeNurse, a method instrumentation framework and TypePlug, an optional, pluggable type system which is based on Persephone.
29
The art of the metaobject protocol
Choice Reviews Online · 1992 · 1K citations
Concepts and experiments in computational reflection
Pattie Maes · 1987 · 1K citations
Dan Ingalls, Ted Kaehler, John Maloney et al. · 1997 · 457 citations · Full text
Gilad Bracha, David Ungar · 2004 · 169 citations