ECOOP 2018
Sun 15 - Sat 21 July 2018 Amsterdam, Netherlands
co-located with ECOOP and ISSTA
Fri 20 Jul 2018 11:50 - 12:15 at Zurich II - Types Chair(s): Philipp Haller

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 Jul

ecoop-2018-papers
11:00 - 12:40: ECOOP Research Papers - Types at Zurich II
Chair(s): Philipp HallerKTH Royal Institute of Technology
ecoop-2018-papers11:00 - 11:25
Research paper
Benjamin W ChungNortheastern University, Paley LiNortheastern University, Francesco Zappa NardelliInria, Jan VitekNortheastern University
DOI
ecoop-2018-papers11:25 - 11:50
Research paper
Joana CamposUniversity of Lisbon, Portugal, Vasco T. VasconcelosUniversity of Lisbon, Portugal
DOI
ecoop-2018-papers11:50 - 12:15
Research paper
Nathalie OostvogelsVrije Universiteit Brussel, Joeri De KosterVrije Universiteit Brussel, Belgium, Wolfgang De MeuterVrije Universiteit Brussel
DOI
ecoop-2018-papers12:15 - 12:40
Research paper
Ugo de'LiguoroUniversità di Torino, Luca PadovaniUniversity of Turin, Italy
DOI