Portable and high-level access to the stack with Continuation Marks
Portable and high-level access to the stack with Continuation Marks
复制标题
使用连续标记对堆栈进行可移植和高级访问
DOI:
--
复制
发表时间:
2006
期刊:
影响因子:
--
通讯作者:
John Clements
中科院分区:
文献类型:
--
作者:
John Clements
My dissertation presents and defends the thesis that lightweight stack inspection improves the implementation of intensional programming tools and programming language extensions. Intensional programming tools, such as debuggers, need to observe and change the function call behavior of programs as they run. Intensional programming language extensions, such as aspect-oriented programming, behave similarly. Traditionally, these tools and extensions are granted privileged access to the evaluator’s implementation details, particularly the stack. This design can stall further development, particularly the extension of these tools to new platforms and new versions of the evaluator. To solve some of these problems, we propose an alternate architecture. An extension of the language, ”continuation marks,” allows these tools to obtain runtime information without special privilege, and to operate as annotators on the source language. We claim that this language feature is a simple addition to many runtime systems. We further claim that this architecture results in tools and extensions that are more portable and well-defined. In order to support our claims, we have successfully applied it to three different problems. First, we designed and implemented a stepping debugger. Second, we showed how a security feature, stack inspection, may be expressed. Finally, we consider the implementation of aspects, and particularly those aspects that require information about control flow.