λdB: Blame tracking at higher fidelity

Jakub Zalewski, James Mckinna, J. Garrett Morris, Philip Wadler

Research output: Contribution to conferencePaperpeer-review

Abstract / Description of output

This paper introduces λdB, a blame calculus with dependent types. It supports dependent functions, predicate refinement at all types, the dynamic type, and full blame tracking. It is inspired by and extends previous work on hybrid types and Sage, by Flanagan and others; manifest contracts, by Greenberg, Pierce, and Weirich; and blame calculus by Wadler and Findler. While previous work only allows refinement over base types, λdB supports refinement over any type. We introduce novel techniques in order to prove blame safety for this language, including a careful analysis that reduces open judgments on terms to closed ones on values, and the idea of ‘subtyping with a witness’, which fix flaws in the previous work of Wadler and Findler. These technical contributions mean that we can achieve a completely operational account of the metatheory of our language, and thereby avoid the need to intertwine operational and semantic models which bedevils the work on hybrid types and manifest contracts.
Original languageEnglish
Number of pages22
Publication statusPublished - 25 Jan 2020
EventFirst ACM SIGPLAN Workshop on Gradual Typing - New Orleans, United States
Duration: 25 Jan 202025 Jan 2020
Conference number: 1
https://popl20.sigplan.org/home/wgt-2020

Workshop

WorkshopFirst ACM SIGPLAN Workshop on Gradual Typing
Abbreviated titleWGT 2020
Country/TerritoryUnited States
CityNew Orleans
Period25/01/2025/01/20
Internet address

Fingerprint

Dive into the research topics of 'λdB: Blame tracking at higher fidelity'. Together they form a unique fingerprint.

Cite this