MERLIN 2005 | |
Toward a General Theory of Names, Binding and Scope | |
数学;计算机科学 | |
James Cheney | |
Others : http://homepages.inf.ed.ac.uk/rpollack/TYPES/MERLIN_05/p33-cheney.pdf PID : 52662 |
|
学科分类:计算机科学(综合) | |
来源: CEUR | |
【 摘 要 】
High-level formalisms for reasoning about names and binding such as de Bruijn indices, various flavors of higher-order abstract syntax, the Theory of Contexts, and nominal abstract syntax address only one relatively restrictive form of scoping: namely, unary lexical scoping, in which the scope of a (single) bound name is a subtree of the abstract syntax tree (possibly with other subtrees removed due to shadowing). Many languages exhibit binding or renaming structure that does not fit this mold. Examples include binding transitions in the pi-calculus; unique identifiers in contexts, mem- ory heaps, and XML documents; declaration scoping in modules and namespaces; anonymous identifiers in automata, type schemes, and Horn clauses; and pattern matching and mutual recursion con- structs in functional languages. In these cases, it appears necessary to either rearrange the abstract syntax so that lexical scoping can be used, or revert to first-order techniques. The purpose of this paper is to catalogue these “exotic” binding, renaming, and structural congruence situations; to argue that lexical scoping-based syntax techniques are sometimes either inappropri- ate or incapable of assisting in such situations; and to outline tech- niques for formalizing and proving properties of languages with more general forms of renaming and other structural congruences. Categories and Subject Descriptors D.3.1 [Programming Lan- guages]: Formal Definitions and Theory—Syntax; F.3.1 [Logics and Meanings of Programs]: Specifying and Verifying and Rea- soning about Programs—Specification techniques General Terms Languages
【 预 览 】
Files | Size | Format | View |
---|---|---|---|
Toward a General Theory of Names, Binding and Scope | 178KB | download |