Systems programming often requires the manipulation of resources like file handles, network connections, or dynamically allocated memory. Programmers need to follow certain protocols to handle these resources correctly. Violating these protocols causes bugs ranging from type mismatches over data races to use-after-free errors and memory leaks. These bugs often lead to security vulnerabilities.
While statically typed programming languages guarantee type soundness and memory safety by design, most of them do not address issues arising from improper handling of resources. An important step towards handling resources is the adoption of linear and affine types that enforce single-threaded resource usage. However, the few languages supporting such types require heavy type annotations.
We present Affe, an extension of ML that manages linearity and affinity properties using kinds and constrained types. In addition Affe supports the exclusive and shared borrowing of affine resources, inspired by features of Rust. Moreover, Affe retains the defining features of the ML family: it is an impure, strict, functional expression language with complete principal type inference and type abstraction. does not require any linearity annotations in expressions and supports common functional programming idioms.
Thu 8 DecDisplayed time zone: Auckland, Wellington change
15:30 - 17:00 | ICFP PapersCOVID Time Papers In Person at Seminar Room LG004 Chair(s): Matthieu Lemerre CEA LIST, France | ||
15:30 30mTalk | Certifying the Synthesis of Heap-Manipulating Programs COVID Time Papers In Person Yasunari Watanabe Ahrefs Research, Kiran Gopinathan National University of Singapore, George Pîrlea National University of Singapore, Singapore, Nadia Polikarpova University of California at San Diego, Ilya Sergey National University of Singapore Link to publication DOI | ||
16:00 30mTalk | Kindly Bent to Free Us COVID Time Papers In Person Gabriel Radanne Inria, Hannes Saffrich University of Freiburg, Peter Thiemann University of Freiburg, Germany Link to publication DOI | ||
16:30 30mTalk | Stable relations and abstract interpretation of higher-order programs COVID Time Papers In Person Link to publication File Attached |