Christopher Schuster (University of California, Santa Cruz)

A Light-Weight Effect System for JavaScript

Christopher Schuster, Cormac Flanagan

Proceedings of the 2015 Scripts to Programs Workshop (STOP '15). July 2015. Prague, CZ.

While types describe what values an expression computes, the effects of an expression describe how it is computed, e.g. whether its evaluation manipulates global state, accesses the file system or may throw certain exceptions. Having to specify types and effects throughout the program might not be feasible in a scripting language but simple effect contracts may still help to prevent many programming errors. This paper described the design and implementation of a system that statically checks effect contracts in JavaScript programs.