A rewriting semantics for type inference

10Citations
Citations of this article
19Readers
Mendeley users who have this article in their library.

This article is free to access.

Abstract

When students first learn programming, they often rely on a simple operational model of a program's behavior to explain how particular features work. Because such models build on their earlier training in algebra, students find them intuitive, even obvious. Students learning type systems, however, have to confront an entirely different notation with a different semantics that many find difficult to understand. In this work, we begin to build the theoretical underpinnings for treating type checking in a manner like the operational semantics of execution. Intuitively, each term is incrementally rewritten to its type. For example, each basic constant rewrites directly to its type and each lambda expression rewrites to an arrow type whose domain is the type of the lambda's formal parameter and whose range is the body of the lambda expression which, in turn, rewrites to the range type. © Springer-Verlag Berlin Heidelberg 2007.

Cite

CITATION STYLE

APA

Kuan, G., MacQueen, D., & Findler, R. B. (2007). A rewriting semantics for type inference. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 4421 LNCS, pp. 426–440). Springer Verlag. https://doi.org/10.1007/978-3-540-71316-6_29

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free