A Complement to Blame

Philip Wadler

Contracts, gradual typing, and hybrid typing all permit less-precisely typed and
more-precisely typed code to interact. Blame calculus encompasses these, and
guarantees blame safety: blame for type errors always lays with less-precisely
typed code. This paper serves as a complement to the literature on blame
calculus: it elaborates on motivation, comments on the reception of the work,
critiques some work for not properly attending to blame, and looks forward to
applications. No knowledge of contracts, gradual typing, hybrid typing, or
blame calculus is assumed.