ECOOP 2015
Sun 5 - Fri 10 July 2015 Prague, Czech Republic
Wed 8 Jul 2015 11:00 - 11:30 at Bohemia - Gradual Typing Chair(s): John Boyland

TreatJS is a language embedded, higher-order contract sys- tem for JavaScript which enforces contracts by run-time monitoring. Beyond providing the standard abstractions for building higher-order contracts (base, function, and object contracts), TreatJS’s novel contri- butions are its guarantee of non-interfering contract execution, its sys- tematic approach to blame assignment, its support for contracts in the style of union and intersection types, and its notion of a parameterized contract scope, which is the building block for composable run-time gen- erated contracts that generalize dependent function contracts.

TreatJS is implemented as a library so that all aspects of a contract can be specified using the full JavaScript language. The library relies on JavaScript proxies to guarantee full interposition for contracts. It further exploits JavaScript’s reflective features to run contracts in a sandbox en- vironment, which guarantees that the execution of contract code does not modify the application state. No source code transformation or change in the JavaScript run-time system is required.

TreatJS, including sandboxing, is implemented and the impact of con- tracts on execution speed is evaluated using the Google Octane bench- mark.

Wed 8 Jul

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

10:30 - 12:00
Gradual TypingResearch Track at Bohemia
Chair(s): John Boyland University of Wisconsin, Milwaukee
Towards Practical Gradual Typing
Research Track
Asumu Takikawa Northeastern University, Daniel Feltey Northeastern University, Earl Dean Indiana University, Robert Bruce Findler Northwestern University, Matthew Flatt University of Utah, Sam Tobin-Hochstadt Indiana University, Matthias Felleisen Northeastern University
TreatJS: Higher-Order Contracts for JavaScripts
Research Track
Matthias Keil University of Freiburg, Peter Thiemann University of Freiburg
Media Attached
Trust, but Verify: Two-Phase Typing for Dynamic Languages
Research Track
Panagiotis Vekris University of California, San Diego, Benjamin Cosman University of California, San Diego, Ranjit Jhala University of California, San Diego