Software contracts empower programmers to describe functional properties of components. When it comes to constraining effects, though, the literature offers only one-off solutions for various effects. It lacks a universal principle. This paper presents a unifying theory of effectful software contracts in the context of algebraic effect handlers. A key metatheorem shows that contracts cannot unduly interfere with a program’s execution. Furthermore, an evaluation demonstrates that the theory covers existing approaches. Two implementations—one for an effect-handler language and one for Racket—show that the theory can guide practice.
Wed 17 JanDisplayed time zone: London change
Wed 17 Jan
Displayed time zone: London change
13:20 - 14:40 | |||
13:20 20mTalk | Soundly Handling LinearityDistinguished Paper POPL Wenhao Tang University of Edinburgh, Daniel Hillerström Huawei Zurich Research Center, Sam Lindley University of Edinburgh, J. Garrett Morris University of Iowa DOI Pre-print | ||
13:40 20mTalk | Answer Refinement Modification: Refinement Type System for Algebraic Effects and Handlers POPL Fuga Kawamata Waseda University, Hiroshi Unno University of Tsukuba, Taro Sekiyama National Institute of Informatics, Tachio Terauchi Waseda University | ||
14:00 20mTalk | Effectful Software Contracts POPL Cameron Moy Northeastern University, Christos Dimoulas Northwestern University, Matthias Felleisen Northeastern University | ||
14:20 20mTalk | Algebraic Effects Meet Hoare Logic in Cubical Agda POPL Oisín Kidney Imperial College London, Zhixuan Yang Imperial College London, Nicolas Wu Imperial College London Pre-print |