Recency Types for Dynamically-Typed, Object-Based Languages: Strong Updates for JavaScript

Free registration required

Executive Summary

Object-based languages with dynamic type systems are popular because they accelerate the development of short programs. As larger programs are built with those languages, static analyses become important tools for detecting programming errors. The authors define such an analysis as a type system for an imperative object-based calculus and prove its type soundness. The calculus models essential features of the JavaScript language, as an example of a typical and widely used dynamically-typed, object-based language. The model includes objects as property maps, type change during object initialization, and precise support for JavaScript's prototype mechanism.

  • Format: PDF
  • Size: 260.4 KB