Well-typed programs can't be blamed

Philip Wadler; Robby Findler. 6 January, 2009.
Communicated by Robby Findler.


We introduce the blame calculus, which adds the notion of blame from Findler and Felleisen's contracts to a system similar to Siek and Taha's gradual types and Flanagan's hybrid types. We characterise where positive and negative blame can arise by decomposing the usual notion of subtype into positive and negative subtypes, and show that these recombine to yield naive subtypes. Naive subtypes previously appeared in type systems that are unsound, but we believe this is the first time naive subtypes play a role in establishing type soundness.

Original Document

The original document is available in PDF (uploaded 6 January, 2009 by Robby Findler).