The Fire Triangle: How to Mix Substitution, Dependent Elimination, and Effects
There is a critical tension between substitution, dependent elimination and effects in type theory. In this paper, we crystallize this tension in the form of a no-go theorem that constitutes the fire triangle of type theory.
To release this tension, we propose ∂CBPV, an extension of call-by-push-value (CBPV) —a general calculus of effects—to dependent types.
Then, by extending to ∂CBPV the well-known decompositions of call-by-name and call-by-value into CBPV, we show why, in presence of effects, dependent elimination must be restricted in call-by-name, and substitution must be restricted in call-by-value.
To justify ∂CBPV and show that it is general enough to interpret many kinds of effects, we define various effectful syntactic translations from ∂CBPV to Martin-Löf type theory: the reader, weaning and forcing translations.
Conference DayThu 23 JanDisplayed time zone: Saskatchewan, Central America change
10:30 - 11:35
|Binders by Day, Labels by Night: Effect Instances via Lexically Scoped Handlers|
Dariusz BiernackiUniversity of Wrocław, Maciej PirógUniversity of Wrocław, Piotr PolesiukUniversity of Wrocław, Filip SieczkowskiUniversity of WrocławLink to publication DOI Media Attached
|The Fire Triangle: How to Mix Substitution, Dependent Elimination, and Effects|
Research PapersLink to publication DOI Media Attached
|SyTeCi: Automating Contextual Equivalence for Higher-Order Programs with References|
Guilhem JaberLS2N, Université de NantesLink to publication DOI Media Attached