We present a simple core type system, λ [ ] - pronounced "lambda open box" - for a statically typed, hygienic, and multi-stage lambda-calculus supporting evaluation under future-stage binders, open-code manipulation, a first-class eval function, and mutable state. The type system provides one type of lexically scoped code that precisely accounts for the contexts in which code values can be inserted. In particular, this type can distinguish between open and closed code. We show how to extend λ [ ] with subtype polymorphism over program contexts. The soundness and simplicity of λ [ ] demonstrate that the notion of staging is orthogonal to features that have been presented as instrumental in existing type systems for staged computation, such as polymorphism, nameless term representations, explicit substitutions, and delimited continuations. © 2012 Springer-Verlag.
CITATION STYLE
Rhiger, M. (2012). Staged computation with staged lexical scope. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 7211 LNCS, pp. 559–578). https://doi.org/10.1007/978-3-642-28869-2_28
Mendeley helps you to discover research relevant for your work.