Most programming languages provide abstractions for non-local control flow and access to the stack by using continuations, coroutines, or generators. However, their unrestricted use breaks the local reasoning capability of a programmer. Gradual typing exacerbates this problem because typed and untyped code co-exist. We present a contract system capable of protecting code from control flow and stack manipulations by unknown components. We use these contracts to support a gradual type system, and we prove that the resulting system cannot blame typed components for errors. © 2013 Springer-Verlag.
CITATION STYLE
Takikawa, A., Strickland, T. S., & Tobin-Hochstadt, S. (2013). Constraining delimited control with contracts. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 7792 LNCS, pp. 229–248). https://doi.org/10.1007/978-3-642-37036-6_14
Mendeley helps you to discover research relevant for your work.