Static typing of complex presence constraints in interfaces
Many functions in libraries and APIs have the notion of optional parameters, which can be mapped onto optional properties of an object representing the parameters. The fact that properties are optional opens up the possibility for APIs and libraries to design a complex “dependency logic” between properties: for example, some properties may be mutually exclusive, some properties may depend on others, etc. Existing type systems are not strong enough to express such dependency logic, which can lead to the creation of invalid objects and accidental usage of absent properties. In this paper we propose TypeScriptIPC : a variant of TypeScript with a novel type system that enables programmers to express complex presence constraints on properties. We prove that it is sound with respect to enforcing complex dependency logic defined by the programmer when an object is created, modified or accessed.
Fri 20 JulDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
11:00 - 12:40 | |||
11:00 25mResearch paper | KafKa: Gradual Typing for Objects ECOOP Research Papers Benjamin Chung Northeastern University, Paley Li Northeastern University, Francesco Zappa Nardelli Inria, Jan Vitek Northeastern University DOI | ||
11:25 25mResearch paper | Dependent Types for Class-based Mutable Objects ECOOP Research Papers DOI | ||
11:50 25mResearch paper | Static typing of complex presence constraints in interfaces ECOOP Research Papers Nathalie Oostvogels Vrije Universiteit Brussel, Joeri De Koster Vrije Universiteit Brussel, Belgium, Wolfgang De Meuter Vrije Universiteit Brussel DOI | ||
12:15 25mResearch paper | Mailbox Types for Unordered Interactions ECOOP Research Papers DOI |