Projects per year
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.
|Number of pages||22|
|Publication status||Published - 25 Jan 2020|
|Event||First ACM SIGPLAN Workshop on Gradual Typing - New Orleans, United States|
Duration: 25 Jan 2020 → 25 Jan 2020
Conference number: 1
|Workshop||First ACM SIGPLAN Workshop on Gradual Typing|
|Abbreviated title||WGT 2020|
|Period||25/01/20 → 25/01/20|
FingerprintDive into the research topics of 'λdB: Blame tracking at higher fidelity'. Together they form a unique fingerprint.
- 1 Finished
20/05/13 → 19/11/20