This paper explores the surprisingly rich design space for the simply typed lambda calculus with casts and a dynamic type. Such a calculus is the target intermediate language of the gradually typed lambda calculus but it is also interesting in its own right. In light of diverse requirements for casts, we develop a modular semantic framework, based on Henglein's Coercion Calculus, that instantiate a number of space-efficient, blame-tracking calculi, varying in what errors they detect and how they assign blame. Several of the resulting calculi extend work from the literature with either blame tracking or space efficiency, and in doing so reveal previously unknown connections. Furthermore, we introduce anew strategy for assigning blame under which casts that respect traditional sub typing are statically guaranteed to never fail. One particularly appealing out come of this work is a novel cast calculus that is well-suited to gradual typing.
CITATION STYLE
Siek, J., Garcia, R., & Taha, W. (2009). Exploring the design space of higher-order casts. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 5502, pp. 17–31). https://doi.org/10.1007/978-3-642-00590-9_2
Mendeley helps you to discover research relevant for your work.